C#发送邮件(包含发送附件)

如何搞到SMTP服务器地址百度即可,参考链接:阿里云SMTP服务器地址

Console.WriteLine("如果发现有错误的地方,麻烦同学私信我或评论我一下,我好加以改正");
Console.WriteLine("如果有看不懂的同学,可以私信我,存有案例,更方便分析(9:30-17:00在线)");

以下代码为了更能体现开发情况所写,如果只需要方法的话,可以参考更为简便的代码:C#发送邮件方法

//邮箱、SMTP服务器地址、SMTP端口号、授权码 可以在配置文件中配置,以便统一进行修改
<?xml version="1.0" encoding="utf-8"?>
<configuration>
	<appSettings>
		<!--主要信息根据实际情况调整-->
		<!--邮箱-->
		<add key="Email_Sender" value="xxxxxxxx@qq.com" />
		<!--SMTP服务器地址-->
		<add key="Email_SMTP" value="smtp.qq.com" />//qqSMTP服务器地址
		<!--协议端口号-->
		<add key="Email_Port" value="587" />//qqSMTP端口号
		<!--授权码-->
		<add key="Email_Code" value="xxxxxxxxxxxx" />//qqSMTP授权码
	</appSettings>
</configuration>
namespace TestConsole
{
    class Program
    {
		private String emailSender = ConfigurationManager.AppSettings["Email_Sender"];//发送邮箱
		private String emailSMTP = ConfigurationManager.AppSettings["Email_SMTP"];//服务器地址
		private String emailPort = ConfigurationManager.AppSettings["Email_Port"];//端口号
		private String emailCode = ConfigurationManager.AppSettings["Email_Code"];//授权码
		
    	public static void Main(String[] args)
		{
			String email = "xxx@163.com";//接收邮箱
			String[] emailtocc = new String[]{"xxx@qq.com", "xxx@163.com"};//抄送邮箱
			SendEmail("", new String[]{}, "fromnName", "《这是发送邮件的标题》", "这是邮件的主体内容(支持html格式)!!!");
		}
		
		/// <summary>
		/// 发送邮件
		/// </summary>
		/// <param name="sendTo">收件人地址</param>
		/// <param name="sendCC">抄送人地址(多人)</param>
		/// <param name="fromName">发件人名称</param>
		/// <param name="title">邮件标题</param>
		/// <param name="body">邮件内容(支持html格式)</param>
		public static void SendEmail(String sendTo, String[] sendCC, String fromName, String title, String body)
		{
			MailMessage msg = new MailMessage();
		
			//设置收件人地址
			msg.To.Add(sendTo); //收件人地址
		
			//设置抄送人地址
			if (sendCC.Length > 0)
			{
				foreach (String cc in sendCC)
				{
					msg.CC.Add(cc);
				}
			}
		
			//设置发件人邮箱及名称
			msg.From = new MailAddress(emailSender, fromName);
		
			msg.Subject = title;//邮件标题 
			msg.SubjectEncoding = Encoding.UTF8; //标题格式为UTF8 
		
			msg.Body = body;//邮件内容
			msg.BodyEncoding = Encoding.UTF8; //内容格式为UTF8 
			msg.IsBodyHtml = true;//设置邮件格式为html格式

			string filePath = @"E:\导出数据.xls";//添加附件
			msg.Attachments.Add(new Attachment(filePath));
		
			SmtpClient client = new SmtpClient();
		
			//发送邮箱信息
			client.Host = emailSMTP; //SMTP服务器地址 
			client.Port = emailPort; //SMTP端口,QQ邮箱填写587 
		
			client.EnableSsl = true; //启用SSL加密 (使用除QQ邮箱之外的最好关闭)
		
			//发件人邮箱账号,授权码
			client.Credentials = new System.Net.NetworkCredential(emailSender, emailCode);
		
			try
			{
				client.Send(msg); //发送邮件
			}
			catch (Exception)
			{
				throw;
			}
		}
    }
}
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值