ASP。Net使用jmail和System Net Mail发送邮件

https://www.360docs.net/doc/5513080801.html,使用jmail发送邮件
环境
1.服务器上有jmail.dll文件(我用的是Ver4.5),并成功注册:C:\regsvr32 D:\jmail.dll

2.VS2010中添加引用
代码如下:
using System;
namespace WebApplication2
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Button1_Click(object sender, EventArgs e)
{
SendEmail();
}
public void SendEmail()
{
jmail.Message Jmail = new jmail.Message();
Jmail.ContentType = "text/html";
Jmail.Silent = false;
Jmail.Logging = true;
Jmail.Charset = "GB2312";
Jmail.AddRecipient("xxx@https://www.360docs.net/doc/5513080801.html,", "显示名");
//群发添加Jmail.AddRecipient("***@***", "显示名");
Jmail.From = "FromEmail";
Jmail.FromName = "Name";
Jmail.MailServerUserName = "UserName";//注是要写全称 并且不要带有下划线的用户名
Jmail.MailServerPassWord = "PassWord";//不要带有下划线的密码

Jmail.Subject = "主题";
//Jmail.Body = "内容";//文本格式正文
//html格式正文
Jmail.AppendHTML("

");
Jmail.AppendHTML(" ");
Jmail.AppendHTML("
正文
");

Jmail.Send("stmp.***.com", false);
Jmail.Close();
}
}
}
也可以在程序中设置以下内容,从web.config 的AppSettings获取你设置的账号密码和发送服务器等信息
String UserName = ConfigurationManager.AppSettings["UserName"].ToString();
String PassWord = ConfigurationManager.AppSettings["PassWord"].ToString();
String SendServer = ConfigurationManager.AppSettings["SendServer"].ToString();

web.config中






*************************************************************
https://www.360docs.net/doc/5513080801.html,使用https://www.360docs.net/doc/5513080801.html,.Mail发送邮件

using System;
using https://www.360docs.net/doc/5513080801.html,.Mail;
namespace WebApplication2
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Button1_Click(object sender, EventArgs e)
{
SendEmail();
}

public void SendEmail()
{
MailMessage newEmail = new MailMessage();
newEmail.From = new MailAddress("***@https://www.360docs.net/doc/5513080801.html,","显示名");//发送方邮件
//发送对象,可群发
newEmail.To.Add(new MailAddress("***@***")); //接收方邮箱一
//newEmail.To.Add(new MailAddress("132@https://www.360docs.net/doc/5513080801.html,")); //接收方邮箱二

newEmail.Subject = "测试邮件"; //标题

newEmail.Body = "


里是内容

"; //内容,html格式,也可以是普通文本格式;
newEmail.Body += "

这里是内容

";

//附件
//Attachment MsgAttach = new Attachment(this.FileUpload1.PostedFile.FileName);//可通过一个FileUpload地址获取附件地址
//newEmail.Attachments.Add(MsgAttach);

#region Deployment
newEmail.IsBodyHtml = true; //是否支持html
newEmail.Priority = MailPriority.Normal; //优先级
#endregion

//发送方服务器信息
SmtpClient smtpClient = new SmtpClient();
https://www.360docs.net/doc/5513080801.html,eDefaultCredentials = true;//安全认证
smtpClient.Credentials = new https://www.360docs.net/doc/5513080801.html,workCredential("user", "password");//安全认证
smtpClient.Host = "https://www.360docs.net/doc/5513080801.html,"; //主机

//smtpClient.Send(newEmail); //同步发送,程序将被阻塞

#region 异步发送, 会进入回调函数SendCompletedCallback,来判断发送是否成功
smtpClient.SendCompleted += new SendCompletedEventHandler(SendCompletedCallback);//回调函数
string userState = "测试";
smtpClient.SendAsync(newEmail, userState);//异步发送, WEB页面需添加<% @ pageAsync="true"%>
#endregion
}
private static void SendCompletedCallback(object sender, https://www.360docs.net/doc/5513080801.html,ponentModel.AsyncCompletedEventArgs e)
{
if (e.Cancelled) //邮件发送被取消
{
}
if (e.Error != null) //邮件发送失败
{
}
else //发送成功
{
}
}
}
}

如果上述用https://www.360docs.net/doc/5513080801.html,语言编写,其委托调用时,将
smtpClient.SendCompleted += New SendCompletedEventHandler(SendCompletedCallback) '//回调函数
修改为
AddHandler smtpClient.SendCompleted, AddressOf SendCompletedCallback

调用的函数改为
Private Shared Sub SendCompletedCallback(ByVal sender As Object, ByVal e As https://www.360docs.net/doc/5513080801.html,ponentModel.AsyncCompletedEventArgs)
If (e.Cancelled) Then

End If
If (e.Error IsNot Nothing) Then '邮件发送失败

Else '//发送成功
End If
End Sub

相关文档
最新文档