62,268
社区成员
发帖
与我相关
我的任务
分享#region 发送邮件
/// <summary>
/// 利用Jmail发送邮件 如果出现失败肯能是防火墙的设置或邮箱服务器错误
/// </summary>
/// <param name="tomail">收件人邮箱 如果是过个收件人以;分割</param>
/// <param name="Title">邮件的主题</param>
/// <param name="Content">邮件内容</param>
public static void SendMail(string tomail, string Title, string Content)
{
try
{
jmail.Message Jmail = new jmail.Message();
//Silent属性:如果设置为true,JMail不会抛出例外错误. JMail. Send( () 会根据操作结果返回true或false
//Jmail.Silent=true;
//Jmail创建的日志,前提loging属性设置为true
//Jmail.Logging=true;
//字符集,缺省为"US-ASCII"
Jmail.Charset = "GB2312";
Jmail.Encoding = "GB2312";
//信件的contentype. 缺省是"text/plain") : 字符串如果你以HTML格式发送邮件, 改为"text/html"即可。
Jmail.ISOEncodeHeaders = false;//是否将信头编码成iso-8859-1字符集
Jmail.ContentType = "text/html";
Jmail.Priority = Convert.ToByte(1);// 优先级
//添加收件人
string SendEmail = tomail;
string fromName = System.Configuration.ConfigurationManager.AppSettings["SendRealName"].ToString();//邮件来自
//多个邮件接受人
if (SendEmail.IndexOf(';') > 0)
{
string[] emailArr = SendEmail.Split(';');
foreach (string email in emailArr)
{
if (email != null && !email.Trim().Equals(""))
{
Jmail.AddRecipient(email, "", "");
}
}
}
else
{
Jmail.AddRecipient(SendEmail, "", "");
}
//邮件来自
Jmail.FromName = fromName;
//发件人邮箱
Jmail.From = System.Configuration.ConfigurationManager.AppSettings["SendUserName"];
//发件人邮件用户名
Jmail.MailServerUserName = System.Configuration.ConfigurationManager.AppSettings["SendUserName"];
//发件人邮件密码
Jmail.MailServerPassWord = System.Configuration.ConfigurationManager.AppSettings["SendPassword"];
//设置邮件标题
Jmail.Subject = Title;
//邮件内容
Jmail.Body = Content;
//Jmail发送的方法
Jmail.Send(System.Configuration.ConfigurationManager.AppSettings["MailServer"], false);
Jmail.Close();
HttpContext.Current.Response.Write("<script>alert('邮件发送成功');</script>");
}
catch
{
HttpContext.Current.Response.Write("<script>alert('邮件发送失败,请检查');</script>");
}
}
/// <summary>
/// 利用Jmail发送邮件
/// </summary>
/// <param name="SendEmail">收件人邮箱 如果是过个收件人以;分割</param>
/// <param name="Title">邮件的主题</param>
/// <param name="Content">邮件内容</param>
/// <param name="Attach">邮件中的附件以;分割</param>
public static void SendMailWithAttach(string SendEmail, string Title, string Content, string Attach)
{
try
{
jmail.Message Jmail = new jmail.Message();
//Silent属性:如果设置为true,JMail不会抛出例外错误. JMail. Send( () 会根据操作结果返回true或false
//Jmail.Silent=true;
//Jmail创建的日志,前提loging属性设置为true
//Jmail.Logging=true;
//字符集,缺省为"US-ASCII"
Jmail.Charset = "GB2312";
//信件的contentype. 缺省是"text/plain") : 字符串如果你以HTML格式发送邮件, 改为"text/html"即可。
//Jmail.ContentType="text/html";
//添加收件人
//多个邮件接受人
if (SendEmail.IndexOf(';') > 0)
{
string[] emailArr = SendEmail.Split(';');
foreach (string email in emailArr)
{
if (email != null && !email.Trim().Equals(""))
{
Jmail.AddRecipient(email, "", "");
}
}
}
else
{
Jmail.AddRecipient(SendEmail, "", "");
}
string fromName = System.Configuration.ConfigurationManager.AppSettings["SendRealName"].ToString();
//邮件来自
Jmail.FromName = fromName;
Jmail.From = System.Configuration.ConfigurationManager.AppSettings["SendUserName"];
//发件人邮件用户名
Jmail.MailServerUserName = System.Configuration.ConfigurationManager.AppSettings["SendUserName"];
//发件人邮件密码
Jmail.MailServerPassWord = System.Configuration.ConfigurationManager.AppSettings["SendPassword"];
//设置邮件标题
Jmail.Subject = Title;
//邮件添加附件,(多附件的话,可以再加一条Jmail.AddAttachment( "c:\\test.jpg",true,null);)就可以搞定了。[注]:加了附件,讲把上面的Jmail.ContentType="text/html";删掉。否则会在邮件里出现乱码。
//Jmail.AddAttachment( "c:\\test.jpg",true,null);
string[] Attachs = Attach.Split(';');
for (int i = 0; i < Attachs.Length; i++)
{
if (Attachs[i] != "")
{
Jmail.AddAttachment(Attachs[i], true, null);
}
}
//邮件内容
Jmail.Body = Content;
//Jmail发送的方法
Jmail.Send(System.Configuration.ConfigurationManager.AppSettings["MailServer"], false);
Jmail.Close();
HttpContext.Current.Response.Write("<script>alert('邮件发送成功');</script>");
}
catch
{
HttpContext.Current.Response.Write("<script>alert('邮件发送失败,请检查');</script>");
}
}
#endregion