C#发邮件之命名空间System.Net.Mail
2024-10-22 02:56:26
1.添加一个类,取名为Email
public class Email
{
/// <summary>
/// 发送方发送方服务器地址
/// </summary>
public string strHost { get; set; }
/// <summary>
/// 发送方帐号
/// </summary>
public string strAccount { get; set; }
/// <summary>
/// 发送方密码
/// </summary>
public string strPwd { get; set; } /// <summary>
/// 发送方邮件地址
/// </summary>
public string strFrom { get; set; }
/// <summary>
/// 接收方邮件地址
/// </summary>
public string to { get; set; }
/// <summary>
/// 邮件标题
/// </summary>
public string title { get; set; } /// <summary>
/// 邮件正文内容
/// </summary>
public string content { get; set; }
///// <summary>
///// 附件
///// </summary>
//public string sfile { get; set; }
/// <summary>
/// 发送邮件
/// </summary>
/// <param name="strHost">发送方发送方服务器地址</param>
/// <param name="strAccount">发送方帐号</param>
/// <param name="strPwd">发送方密码</param>
/// <param name="strFrom">发送方邮件地址</param>
/// <param name="to">接收方邮件地址</param>
/// <param name="title">邮件标题</param>
/// <param name="content">邮件正文内容</param>
/// <param name="sfile">邮件附件</param>
/// <returns></returns>
public string sendMail(Email e)//string strHost, string strAccount, string strPwd, string strFrom, string to, string title, string content
{
SmtpClient smtpClient = new SmtpClient();
if (string.IsNullOrEmpty(e.strHost))
{
e.strHost = "smtp.sina.cn";//新浪测试
}
if (string.IsNullOrEmpty(e.strAccount))
{
e.strAccount = "xxx";
}
if (string.IsNullOrEmpty(e.strPwd))
{
e.strPwd = "xxx";
}
if (string.IsNullOrEmpty(e.strFrom))
{
e.strFrom = "xxx";
}
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
smtpClient.Host = e.strHost; ;//指定SMTP服务器
smtpClient.UseDefaultCredentials = true;
smtpClient.Credentials = new System.Net.NetworkCredential(e.strAccount, e.strPwd);//用户名和密码 MailMessage mailMessage = new MailMessage(e.strFrom, e.to);
mailMessage.Subject = e.title;//主题
mailMessage.Body = e.content;//内容
mailMessage.BodyEncoding = System.Text.Encoding.UTF8;//正文编码
mailMessage.IsBodyHtml = true;//设置为HTML格式
mailMessage.Priority = MailPriority.High;//优先级
////// 添加附件
//if (e.sfile != "")
//{
// mailMessage.Attachments.Add(new Attachment(e.sfile));
//}
try
{
smtpClient.Send(mailMessage);
mailMessage.Dispose();//释放资源
return "成功";
}
catch (Exception ex)
{
return ex.ToString();
}
}
}
2.方法调用
Email email = new Email();//实例化我们上面的Email类
email.strHost = "smtp.163.com";发送方服务器地址
email.strAccount = "用户名";发送方用户名 ps:邮箱地址为88888888@163.com 用户名则为:88888888
email.to = "收件人邮箱地址";//你要给谁发邮件
email.title = “title”;//这个不做解释
email.strPwd = "";//邮箱授权码,这个在下面解释
email.strFrom = "发送方的邮件地址";
email.content = @"邮件内容(字写多点,字数少发不成功,不知道为什么,有朋友知道的给我留言,谢谢)";
email.sendMail(email);
3.授权码获取
QQ授权码:打开QQ邮箱,点击设置
选择账户
向下拉找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 根据需要开启
163邮箱:打开163官网 <a href=" https://mail.163.com/">163官网</a>
我这里是已经开启的,没开启的点击开启,后面会进行手机短信验证,验证成功后,设置你自己 的邮箱授权码
到这里就结束了,小弟才疏学浅,各路好汉应取其精华,去其糟粕,希望能够帮助到需要的人!!!
最新文章
- Android数据加密之Base64编码算法
- POJ 2752Seek the Name, Seek the Fame(next数组妙用 + 既是前缀也是后缀)
- CentOS 与 RedHat 关系和区别
- JavaDate类
- 关于servlet的filter
- 一个用php实现的获取URL信息的类
- 学习windows内核书籍推荐 ----------转自http://tieshow.iteye.com/blog/1565926
- Mysql找不到mysql.sock怎么办?
- C#如何转换2位数字表示的年
- #pragma section
- [UWP]浅谈按钮设计
- linux系统/sbin/init执行过程
- Android四大组件之一Service介绍-android学习之旅(十二)
- 授权管理-LDAP-介绍与环境搭建
- .NET Core中的验证组件FluentValidation的实战分享
- 二十一、Linux 进程与信号---进程查看和进程状态、进程调度和进程状态变化、进程标识
- webpack学习笔记--区分环境
- mysql 第二高薪水
- POJ 2259 - Team Queue - [队列的邻接表]
- python time模块总结