【C#】#102 发送邮件

项目需求:定时的发送邮件,于是学习了如何发送邮件

下面有一个简单的例子。能够实现简单的发送邮件,加上附件可以添加一个属性【Attachment】,然后配置上附件的路径

 

Demo下载

代码总共只有一下这一些,就可以发送邮件。

复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Mail;
namespace SendMail
{
    public class EmailHelper
    {
        /// <summary>
        /// 发送邮件
        /// </summary>
        /// <param name="from">发件人</param>
        /// <param name="to">收件人</param>
        /// <param name="title">标题</param>
        /// <param name="body">邮件内容</param>
        /// <returns></returns>
        public static bool Send(MailAddress from, string to, string subject, string body)
        {
            MailMessage mailMessage = new MailMessage();
            mailMessage.From = from;
            mailMessage.To.Add(to);
            mailMessage.To.Add("123456@qq.com");
            mailMessage.To.Add("123456@sina.com");
            mailMessage.Subject = subject;
            mailMessage.Body = body;
            mailMessage.IsBodyHtml = false;
            mailMessage.Priority = MailPriority.High;

            SmtpClient sc = new SmtpClient();
            sc.Host = "smtp.qq.com";   //如果使用非QQ的邮箱,需要更换
            sc.Port = 25;           
            sc.UseDefaultCredentials = true;
            sc.EnableSsl = false;
            sc.Credentials = new System.Net.NetworkCredential("账号", "密码");

            try
            {
                sc.Send(mailMessage);
            }
            catch (Exception e1)
            {
                //抛出异常,不处理,让调用者处理
                throw e1;
            }
            return true;
        }
    }
}
复制代码
posted @   那年、仲夏  阅读(200)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示