发送邮件源码已测试_第1页
发送邮件源码已测试_第2页
发送邮件源码已测试_第3页
发送邮件源码已测试_第4页
发送邮件源码已测试_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C# 发送邮件源码最近有用户提出了一个新的需求,希望公司的网站系统能够自动发邮件到相关人员的邮箱中,通过实践做出了程序,通过下面的代码分享给大家。发送邮件使用VS中的System.Net.Mail类。using System.Net.Mail; 1、定义公共变量: #region 邮件 public static string senderServerIp = "" public static string fromMailAddress = "test" public static string mailUsername =" &q

2、uot; public static string mailPassword ="." public static string mailPort = "" /内容根据实际情况而定 #endregion2、新增类using System;using System.Collections.Generic;using System.Text;using System.IO;using System.Net.Mail;using System.Net.Mime;namespace KRP.ClsCarInfo public class MyEmail priv

3、ate MailMessage mMailMessage; /主要处理发送邮件的内容(如:收发人地址、标题、主体、图片等等) private SmtpClient mSmtpClient; /主要处理用smtp方式发送此邮件的配置信息(如:邮件服务器、发送端口号、验证方式等等) private int mSenderPort; /发送邮件所用的端口号(htmp协议默认为) private string mSenderServerHost; /发件箱的邮件服务器地址(IP形式或字符串形式均可) private string mSenderPassword; /发件箱的密码 private str

4、ing mSenderUsername; /发件箱的用户名(即符号前面的字符串,例如:hello,用户名为:hello) private bool mEnableSsl; /是否对邮件内容进行socket层加密传输 private bool mEnablePwdAuthentication; /是否对发件人邮箱进行密码验证 / <summary> / 构造函数 / </summary> / <param name="server">发件箱的邮件服务器地址</param> / <param name="toMai

5、l">收件人地址(可以是多个收件人,程序中是以“;"进行区分的)</param> / <param name="fromMail">发件人地址</param> / <param name="subject">邮件标题</param> / <param name="emailBody">邮件内容(可以以html格式进行设计)</param> / <param name="username">发件箱

6、的用户名(即符号前面的字符串,例如:hello,用户名为:hello)</param> / <param name="password">发件人邮箱密码</param> / <param name="port">发送邮件所用的端口号(htmp协议默认为)</param> / <param name="sslEnable">true表示对邮件内容进行socket层加密传输,false表示不加密</param> / <param name="

7、;pwdCheckEnable">true表示对发件人邮箱进行密码验证,false表示不对发件人邮箱进行密码验证</param> public MyEmail(string server, string toMail, string fromMail, string subject, string emailBody, string username, string password, string port, bool sslEnable, bool pwdCheckEnable) try mMailMessage = new MailMessage(); mMa

8、ilMessage.To.Add(toMail); mMailMessage.From = new MailAddress(fromMail); mMailMessage.Subject = subject; mMailMessage.Body = emailBody; mMailMessage.IsBodyHtml = true; mMailMessage.BodyEncoding = System.Text.Encoding.UTF8; mMailMessage.Priority = MailPriority.Normal; this.mSenderServerHost = server;

9、 this.mSenderUsername = username; this.mSenderPassword = password; this.mSenderPort = Convert.ToInt32(port); this.mEnableSsl = sslEnable; this.mEnablePwdAuthentication = pwdCheckEnable; catch (Exception ex) Console.WriteLine(ex.ToString(); / <summary> / 添加附件 / </summary> / <param name

10、="attachmentsPath">附件的路径集合,以分号分隔</param> public void AddAttachments(string attachmentsPath) try string path = attachmentsPath.Split(''); /以什么符号分隔可以自定义 Attachment data; ContentDisposition disposition; for (int i = 0; i < path.Length; i+) data = new Attachment(pathi, Medi

11、aTypeNames.Application.Octet); disposition = data.ContentDisposition; disposition.CreationDate = File.GetCreationTime(pathi); disposition.ModificationDate = File.GetLastWriteTime(pathi); disposition.ReadDate = File.GetLastAccessTime(pathi); mMailMessage.Attachments.Add(data); catch (Exception ex) Co

12、nsole.WriteLine(ex.ToString(); / <summary> / 邮件的发送 / </summary> public void Send() try if (mMailMessage != null) mSmtpClient = new SmtpClient(); /mSmtpClient.Host = "smtp." + mMailMessage.From.Host; mSmtpClient.Host = this.mSenderServerHost; mSmtpClient.Port = this.mSenderPort;

13、 mSmtpClient.UseDefaultCredentials = false; mSmtpClient.EnableSsl = this.mEnableSsl; if (this.mEnablePwdAuthentication) System.Net.NetworkCredential nc = new System.Net.NetworkCredential(this.mSenderUsername, this.mSenderPassword); /mSmtpClient.Credentials = new System.Net.NetworkCredential(this.mSe

14、nderUsername, this.mSenderPassword); /NTLM: Secure Password Authentication in Microsoft Outlook Express mSmtpClient.Credentials = nc.GetCredential(mSmtpClient.Host, mSmtpClient.Port, "NTLM"); else mSmtpClient.Credentials = new System.Net.NetworkCredential(this.mSenderUsername, this.mSender

15、Password); mSmtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; mSmtpClient.Send(mMailMessage); catch (Exception ex) Console.WriteLine(ex.ToString(); 3、 #region 发送邮件 public delegate void AsyncEventHandler( string _toMailAddress, string _Info);/string _toMailUser,string _Q_guid, s

16、tring _Name, protected void SendMail( string _toMailAddress, string _Info) try string senderServerIp = ClsConst.senderServerIp; string toMailAddress = _toMailAddress; string fromMailAddress = ClsConst.fromMailAddress; string subjectInfo = "ITSM提醒邮件" string bodyInfo = _Info; string mailUsername = ClsConst.mailUsername; string mailPassword = ClsConst.mailPassword; string mailPort = ClsConst.mailPort; MyEmail email = new MyEmail(senderServerIp, toMailAddress, fromMailAddress, subjectInfo, bodyInfo, mailUsername, mailPassword, mailPort, true, true); email.Send(); catch #en

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论