C# 邮件发送(SMTP)

C#发邮件主要涉及两个类:

  • MailMessage:邮件内容(收发人地址,内容,标题等等)
  • SmtpClient:邮件客户端(服务器,端口号,发送方式,发送动作,传入参数是MailMessage)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MailTest;
using System.Net;
using System.Net.Mail;

namespace MailTest
{
    public class Program
    {
        static void Main(string[] args)
        {
            MailMessage msg = new MailMessage();//邮件信息类
            msg.From = new MailAddress("xxx@xxx.com", "test", Encoding.UTF8);//实际发件人,显示发件人,编码
            msg.To.Add("xxx@xxx.com");//收件人,这里可以对字符串处理,循环add收件人
            msg.CC.Add("xxx@xxx.com");//抄送人,同上
            msg.Subject = "test123";//邮件主题
            msg.BodyEncoding = Encoding.UTF8;//邮件内容编码
            msg.SubjectEncoding = Encoding.UTF8;//邮件主题编码
            msg.IsBodyHtml = false;//是否是html格式,如果是,内容可以写成html样式
            //msg.IsBodyHtml = true;//是否是html格式,如果是,内容可以写成html样式
            //string filePath = "html路径";
            //System.IO.StreamReader read = new System.IO.StreamReader(filePath, Encoding.UTF8);
            //msg.Body = read.ReadToEnd();;//邮件内容
            msg.Body = "加油,你是最胖的";
            msg.Priority = MailPriority.High;//邮件优先级

            SmtpClient client = new SmtpClient();//客户端smtp(这里没有进行初始化),初始化:SmtpClient("smtp.xxx.com")
            client.DeliveryMethod = SmtpDeliveryMethod.Network;//指定邮件发送方式为网络
            client.Host = "smtp.xxx.com";//定义客户端时没有初始化,这里要指定服务器
            client.EnableSsl = false;//服务器支持安全连接,安全为true
            client.UseDefaultCredentials = false;//是否随着请求一起发
            client.Credentials = new NetworkCredential("xxx@xxx.com", "xxx");//用户名密码
            try
            {
                client.Send(msg);
                Console.WriteLine("Success");
            }
            catch (Exception)
            {
                Console.WriteLine("Failed");
            }
        }
    }
}

这里可以对邮件内容,邮件客户端进行封装,从app.config获取,过滤。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值