利用SMTP发送邮件(C#)
2012-05-09 17:48
309 查看
近期有个项目需要把软件的错误信息以邮件形式发给指定管理员邮箱,过程中遇到了一些小问题可以记录下来以供参考。
首先是代码:
通过SMTP发送邮件,要通过SmtpClient类,该类的几个重要属性如下:
Host:get/set Smtp服务器地址,可以通过构造函数指定;
Port:get/set Smtp服务器通信的端口号,可通过构造函数指定;
EnableSsl:get/set 与Smtp服务器之间的通信是否需要加密,若false,则与Smtp的所有通信都通过明文进行;
Credentials: ICredentialsByHost类型,get/set SmtpClient的认证,用于连接Smtp服务器发送邮件时需要的用户名、密码信息;
其中Credentials属性通过NetworkCredential类进行设定,而要发送的邮件通过MailMessage进行封装。
当EnableSsl被设置成为True时,若Smtp服务器不支持加密通信,则会产生“服务器不支持安全连接”的异常
若用户名密码不正确时,则会产生"邮箱不可用。服务器响应为: 5.7.1 Unable to relay"的异常信息。
首先是代码:
private void SendEmail(Email f) { try { if (mSmtpIPAddress.Length > 0 && !string.IsNullOrEmpty(f.ToAddress)) { SmtpClient client = new SmtpClient(mSmtpIPAddress); client.Port = mSmtpPort; client.EnableSsl = mSsl; MailMessage mMessage = new MailMessage(f.FromAddress, f.ToAddress, f.Subject, f.Body); if (f.CC != null && f.CC.Length > 0) { try { MailAddress cc = new MailAddress(f.CC); mMessage.CC.Add(cc); } catch { } } if (f.BCC != null && f.BCC.Length > 0) { try { MailAddress bcc = new MailAddress(f.BCC); mMessage.Bcc.Add(bcc); } catch { } } if (f.AttachmentPath.Length > 0) { Attachment mAttachment = new Attachment(f.AttachmentPath); mMessage.Attachments.Add(mAttachment); } if (mAuthentication) { // Add authenication NetworkCredential cred = new NetworkCredential(mUserName, mPassword); client.UseDefaultCredentials = false; client.Credentials = cred; } client.Send(mMessage); } } catch (Exception err) { LogError("SendEmail", err); } }
通过SMTP发送邮件,要通过SmtpClient类,该类的几个重要属性如下:
Host:get/set Smtp服务器地址,可以通过构造函数指定;
Port:get/set Smtp服务器通信的端口号,可通过构造函数指定;
EnableSsl:get/set 与Smtp服务器之间的通信是否需要加密,若false,则与Smtp的所有通信都通过明文进行;
Credentials: ICredentialsByHost类型,get/set SmtpClient的认证,用于连接Smtp服务器发送邮件时需要的用户名、密码信息;
其中Credentials属性通过NetworkCredential类进行设定,而要发送的邮件通过MailMessage进行封装。
当EnableSsl被设置成为True时,若Smtp服务器不支持加密通信,则会产生“服务器不支持安全连接”的异常
若用户名密码不正确时,则会产生"邮箱不可用。服务器响应为: 5.7.1 Unable to relay"的异常信息。
相关文章推荐
- C#利用smtp服务器发送邮件简介
- C#中利用SMTP邮件服务器发送邮件
- C# 利用SMTP异步发送邮件
- 关于C#如何利用QQ邮箱SMTP发送邮件
- C#利用SMTP服务器发送邮件
- C#利用smtp服务器发送邮件
- 哈哈哈 利用SmtpClient发送邮件
- 邮件发送 利用SMTP
- C#使用简单邮件传输协议(SMTP)发送邮件
- C#smtp发送邮件
- 用c#写的smtp邮件发送类
- PHPMailer邮件类利用smtp.163.com发送邮件方法
- 利用Socket 编写SMTP 发送邮件程序
- perl利用SMTP发送邮件脚本(带认证)
- C#通过SMTP发送邮件
- 哈哈哈 利用SmtpClient发送邮件
- 装饰者模式的学习(c#) EF SaveChanges() 报错(转载) C# 四舍五入 保留两位小数(转载) DataGridView样式生成器使用说明 MSSQL如何将查询结果拼接成字符串 快递查询 C# 通过smtp直接发送邮件 C# 带参访问接口,WebClient方式 C# 发送手机短信 文件 日志 写入 与读取
- 利用SmtpClient异步地发送邮件
- C#实现简单的SmtpClient发送邮件
- C#发送邮件三种方法,Localhost,SMTP,SSL-SMTP