用jmail发送电子邮件的方法
1、下载jmail组件,
2、
3、定义发送信息的实体类如下
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.Serialization;
namespace TianXia.MailSender
{
/// <summary>
/// 邮件内容的结构定义
/// </summary>
[Serializable]
public class Message : ISerializable
{
private string _mail;
private string _name;
private string _subject;
private string _body;
public Message()
{
}
/// <summary>
/// 反序列化的实现
/// </summary>
/// <param name="info"></param>
/// <param name="context"></param>
public Message(SerializationInfo info, StreamingContext context)
{
_mail = info.GetString("mail");
_name = info.GetString("name");
_subject = info.GetString("subject"); ;
_body = info.GetString("body"); ;
}
/// <summary>
/// 邮件内容的构造函数
/// </summary>
/// <param name="mail">邮件地址</param>
/// <param name="name">接收人</param>
/// <param name="subject">邮件主题</param>
/// <param name="body">邮件正文</param>
public Message(string mail, string name, string subject, string body)
{
_mail = mail;
_name = name;
_subject = subject;
_body = body;
}
/// <summary>
/// 序列化的实现
/// </summary>
/// <param name="info"></param>
/// <param name="context"></param>
public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("mail", _mail);
info.AddValue("name", _name);
info.AddValue("subject", _subject);
info.AddValue("body", _body);
}
/// <summary>
/// 邮件地址
/// </summary>
public string Mail
{
set
{
_mail = value;
}
get
{
return _mail;
}
}
/// <summary>
/// 接收人
/// </summary>
public string Name
{
set
{
_name = value;
}
get
{
return _name;
}
}
/// <summary>
/// 邮件主题
/// </summary>
public string Subject
{
set
{
_subject = value;
}
get
{
return _subject;
}
}
/// <summary>
/// 邮件正文
/// </summary>
public string Body
{
set
{
_body = value;
}
get
{
return _body;
}
}
}
}
4 Jmail发送的具体操作
using System;
using System.Collections.Generic;
using System.Text;
using Jmail;
namespace TianXia.MailSender
{
/// <summary>
/// 通过jMail实现的SMTP发送程序
/// </summary>
public class JMailClient
{
/// <summary>
/// SMTP发送接口的Send方法
/// </summary>
/// <param name="message">邮件内容</param>
public void Send(Message message)
{
jmail.Message mail = new jmail.MessageClass();
mail.Charset = "gb2312";
mail.Encoding = "base64";
mail.From = Smtp.From;
mail.FromName = Smtp.UserName;
mail.AddRecipient(message.Mail, message.Name, null);
mail.Subject = message.Subject;
if (Smtp.Auth)
{
mail.MailServerUserName = Smtp.Account;
mail.MailServerPassWord = Smtp.Password;
}
mail.Subject = message.Subject;
mail.HTMLBody = message.Body;
mail.Priority = 3;
try
{
mail.Send(Smtp.Host, false);
}
finally
{
mail.Close();
}
}
}
}
浙公网安备 33010602011771号