使用C#发送邮件

最近研究通过编程发送电子邮件,所以做些总结以备查看;

 

通过C#发送邮件主要步骤:

1.      创建Mail.MailMessage,并进行参数配置;

2.      创建SmtpClient,配置好参数,通过Send函数发送,异步使用(SendAsync)

 

* 注意在发送之前,确定邮箱服务器是否支持SMTP协议发送邮件,是否使用登录账户密码发送邮件,我是使用126邮箱,第一次测试时使用的是10多年前申请的,测试都是好的,后来又申请了个新的,但就是发送不了了,后来联系客服说需要设置客户端授权码,使用授权码在能使用第三方客户端发送邮件,设置好后,测试Ok

 

以下为发送代码:

using System.Net.Mail;

 

        public void SendEmail()

        {

            MailMessagemsg = new MailMessage();

            msg.To.Add("your_email@126.com");          //收件邮箱地址

            msg.CC.Add("your_email@126.com");  //抄送地址

 

            // 设置发件人信息

            msg.From = newMailAddress("i51source@126.com","51SOURCE.CN", System.Text.Encoding.UTF8);

 

            msg.Subject = "Send Email Test";           //设置标题

            msg.SubjectEncoding = System.Text.Encoding.UTF8;

 

            msg.Body = "Onlyfor test";                //邮件内容,可发送HTML网页邮件

            msg.BodyEncoding = System.Text.Encoding.Default;

 

            msg.IsBodyHtml =checkBoxHtmlBody.Checked;  // 是否是HTML邮件  

            msg.Priority = MailPriority.Normal;        //设置邮件优先级  

 

            SmtpClient client =new SmtpClient();

            client.Credentials = new System.Net.NetworkCredential("i51source@126.com","password");

            client.Port = 25;                           // 未加密端口  

            client.Host = "smtp.126.com";

            //client.EnableSsl= true;                 //加密端口,使用587

 

            try

            {

                client.Send(msg);

                //client.SendAsync(msg,msg);      //异步发送

                MessageBox.Show("发送成功");

            }

            catch(System.Net.Mail.SmtpException ex)

            {

                MessageBox.Show(String.Format("发送邮件出错:{0}", ex.Message.ToString()));

            }  

        }

 

备注:

网易126免费邮箱相关服务器服务器信息:

 

邮件服务器名称   服务器地址           端口号

POP3服务器          pop.126.com         110

SMTP服务器          smtp.126.com         25

IMAP服务器                    imap.126.com        143

 

关于HTML邮件:

使用HTML内容的邮件,如果过于简单,可能会被认定为垃圾邮件:

<html><head>

</head>

<body>

<ahref="http://www.mcuplc.com" target="_blank">测试连接</a>

</body>

</html>

会被Outlook认为垃圾邮件,但增加了些内容,如下,就Ok了,还不太了解原因,需继续研究:

<html><head><basetarget="_blank">

<style type="text/css">

::-webkit-scrollbar{ display: none; }

</style>

<style id="cloudAttachStyle"type="text/css">

#divNeteaseBigAttach,#divNeteaseBigAttach_bak{display:none;}

</style>

</head>

<body>

 

<ahref="http://www.mcuplc.com" target="_blank">测试连接</a>

 

<style type="text/css">

body{font-size:14px;font-family:arial,verdana,sans-serif;line-height:1.666;padding:0;margin:0;overflow:auto;white-space:normal;word-wrap:break-word;min-height:100px}

td, input, button, select,body{font-family:Helvetica, 'Microsoft Yahei', verdana}

pre{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;width:95%}

th,td{font-family:arial,verdana,sans-serif;line-height:1.666}img{border:0}header,footer,section,aside,article,nav,hgroup,figure,figcaption{display:block}

</style><styleid="ntes_link_color" type="text/css">a,tda{color:#138144}</style></body></html>

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值