jmail发邮件的例子

#region 接收外部邮件

  public void ReceiveMails(string Username,int OrderID)
  {
   jmail.Message Msg=new jmail.Message();
   jmail.POP3 jpop = new jmail.POP3();
   if(OrderID!=0)
   {
    SqlDataReader dataReader = this.ExtGetSetting(Username,OrderID);
    if(dataReader.Read())
    {
     if(dataReader["PopServer"].ToString()!=""&&dataReader["PopUsername"].ToString()!="")
     {
      jpop.Connect(dataReader["PopUsername"].ToString(),dataReader["PopPassword"].ToString(),dataReader["PopServer"].ToString(),Int32.Parse(dataReader["PopPort"].ToString()));
      for(int i=1;i<=jpop.Count;i++)
      {
       Msg = jpop.Messages[i];
       this.SaveExtMail(Msg,Username,dataReader["Email"].ToString(),jpop.GetMessageUID(i));
       
      }
      jpop.Disconnect();
     }
    }
   }
   
  }

  #endregion
    }
#region 获取设置的内容 
  ///


  /// 获取设置的内容 
  ///

  public SqlDataReader ExtGetSetting(string Username,int OrderID)
  {
   // create data object and params
   SqlDataReader dataReader = null;
   Database data = new Database();
   SqlParameter[] prams = {
            data.MakeInParam("@Username",      SqlDbType.NVarChar, 20, Username),
            data.MakeInParam("@OrderID",      SqlDbType.Int, 1, OrderID)
           };
   
  
   try
   {
    // run the stored procedure
    data.RunProc("SP_MailExtGetSet",prams,out dataReader);
    return dataReader;
   }
   catch (Exception ex)
   {
    Error.Log(ex.ToString());
    throw new Exception("获取设置的内容出错!",ex);
   }
  }
  #endregion

存储过程:

CREATE PROCEDURE SP_MailExtGetSet
 (
  @Username      [nvarchar](50),
  @OrderId  [int]
 
)
AS
 
SELECT *  FROM  TabExtMailSetting WHERE Username=@Username and OrderID=@OrderID
GO
Sub sendmail()

        Try

            Dim ms As New jmail.MessageClass
            ms.Subject = "i want a test"
            ms.Body = "this is mybody"
            ms.Silent = True
            ms.Charset = "gb2312"
            ms.From = "zzq9624@163.com"
            ms.FromName = "zzq"
            ms.AddRecipient("zhanqiangz@yahoo.com,cn", "zzq", "zhanqiangz@yahoo.com,cn")
            ms.AddRecipient("zzq9624@163.com")
            '  ms.Encoding = "base64"
            ms.MailServerUserName = "zzq9624"
            ms.MailServerPassWord = "ssss"

            ms.Priority = 3
            ms.Send("smtp.163.com", False)
            '  ms.AddAttachment(txtPath.PostedFile.FileName, True, "text/html")
            ms = Nothing
            Response.Write("ok")
        Catch ex As Exception
            Response.Write("NO" & ex.Message & ex.Source)


        End Try
#region 外部邮件主体保存
///


/// 外部邮件主体保存
///

/// Mail类
public void SaveExtMail(jmail.Message JMsg,string Username,string Email,string MessageID)
{  

// create data object and params
Database data = new Database(); 
SqlParameter[] prams = {
 data.MakeInParam("@MailID",  SqlDbType.NVarChar , 100, MessageID),
 data.MakeInParam("@Username",  SqlDbType.NVarChar, 300, Username),
 data.MakeInParam("@Email",  SqlDbType.NVarChar, 100,Email),
 data.MakeInParam("@ReadFlag",  SqlDbType.Bit,1, 0),
 data.MakeInParam("@FolderID",  SqlDbType.Int, 20, 1),
 data.MakeInParam("@HeadersText",  SqlDbType.NVarChar, 1000, JMsg.Headers .ToString()),
 data.MakeInParam("@Subject",  SqlDbType.NVarChar, 100, JMsg.Subject.ToString()),
 data.MakeInParam("@TextContent",  SqlDbType.NVarChar , 3000, JMsg.Text.ToString()),
 data.MakeInParam("@HtmlContent",  SqlDbType.NVarChar, 3000, ""),
 data.MakeInParam("@FromName",  SqlDbType.NVarChar, 300, ""),
 data.MakeInParam("@FromEmail",  SqlDbType.NVarChar, 200, ""),
 data.MakeInParam("@CcTo",  SqlDbType.NVarChar, 200,""),
 data.MakeInParam("@BccTo",  SqlDbType.NVarChar, 200, ""),
 data.MakeInParam("@Replyto",  SqlDbType.NVarChar, 200, ""),
 data.MakeInParam("@SendDate",  SqlDbType.DateTime, 30, DateTime.Parse(JMsg.Date.ToString())),
 data.MakeInParam("@BodySize",  SqlDbType.NVarChar , 20, ""),
 data.MakeInParam("@Size",  SqlDbType.Int, 5,12)
 
};
try
{
data.RunProc("SP_MailExtMailAdd", prams);
data = null;
}
catch (Exception ex)
{
Error.Log(ex.ToString());
throw new Exception("外部邮件保存出错!",ex);
}

}
#endregion
CREATE PROCEDURE [SP_MailExtMailAdd]
(@MailID [nvarchar](50),
@Username [nvarchar](20),
@Email [nvarchar](128),
@ReadFlag [bit],
@FolderID [int],
@HeadersText [text],
@Subject [varchar](200),
@TextContent [text],
@HtmlContent [text],
@FromName [varchar](50),
@FromEmail [varchar](128),
@CcTo [varchar](200),
@BccTo [varchar](200),
@Replyto [varchar](100),
@SendDate [datetime],
@BodySize [varchar](50),
@Size [int])

AS
SET NOCOUNT ON
--判断是否已经接收过了
--IF NOT EXISTS (SELECT 1 FROM TabExtMailList WHERE MailID =@MailID )
--BEGIN
INSERT INTO [UDS].[dbo].[TabExtMailList]
( [MailID],
   [Username],
   [Email],
   [ReadFlag],
   [FolderID],
   [HeadersText],
   [Subject],
   [TextContent],
                [HtmlContent],
  [FromName],
  [FromEmail],
  [CcTo],
  [BccTo],
  [Replyto],
  [SendDate],
  [BodySize],
  [Size])

VALUES
( @MailID,
@Username,
@Email,
@ReadFlag,
@FolderID,
@HeadersText,
@Subject,
@TextContent,
@HtmlContent,
@FromName,
@FromEmail,
@CcTo,
@BccTo,
@Replyto,
@SendDate,
@BodySize,
@Size)
--END

SET NOCOUNT OFF
GO
 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值