C#使用smtp发送邮件带附件
2011-12-01 21:45
841 查看
這里使用SMTP發郵件,什麼是SMTP呢?SMTP:“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。
要發送郵件,先了解郵件有哪些內容構成:
郵件服務器地址
端口
寄件人
收件人
副本人
密件人
標題
正文
附件
知道這些內容后,我們就知道在設置郵件時需要設置哪些東西了。
如何發呢?
發送郵件需使System.Net.Mail命名空间
使用其中的SmtpClient、MailMessage和Attachment三個類。
1. MailMessage:表示可以使用 SmtpClient 类发送的电子邮件。(郵件的信息)
2. Attachment:表示电子邮件的附件。
3. SmtpClient:允许应用程序使用简单邮件传输协议 (SMTP) 来发送电子邮件。
注:郵件中的內容與MailMessage中屬性的對應如下:
下邊來看一下代碼:
/// <summary>
/// 發送郵件的基礎代碼(不需要設定寄件者賬戶及密碼)
/// </summary>
private static void SendMailBaseCode()
{
//實例化郵件信息類
MailMessage msg = new MailMessage();
//寄件人
msg.From = new MailAddress(MailSender);
//收件人
msg.To.Add("XXX@xxx.com");
//標題
msg.Subject = "test";
//標題編碼
msg.SubjectEncoding = Encoding.UTF8;
//正文
msg.Body = "test body";
//正文編碼
msg.BodyEncoding = Encoding.UTF8;
//正文是否用Html形式
msg.IsBodyHtml = false;
//實例化附件類
//附件
Attachment amAnnex = new Attachment(@"D:\ckmsg.txt");
msg.Attachments.Add(amAnnex);
//實例化SMTPClinet類
SmtpClient scMailServer = new SmtpClient();
//郵件服務器地址
scMailServer.Host = "xxx.xxx.xxx.xxx";
//端口
scMailServer.Port = 25;
//發送郵件
scMailServer.Send(msg);
}
/// <summary>
/// 發送郵件的基礎代碼(需要賬號)
/// </summary>
private static void SendMailNeedBaseCode()
{
MailMessage msg = new MailMessage();
msg.From = new MailAddress("XXX@163.com");
msg.To.Add("XXX@xxx.com");
msg.Subject = "test";
msg.SubjectEncoding = Encoding.UTF8;
Attachment amAnnex = new Attachment(@"D:\ckmsg.txt");
msg.Attachments.Add(amAnnex);
msg.Body = "test body";
msg.BodyEncoding = Encoding.UTF8;
msg.IsBodyHtml = true;
SmtpClient scMailServer = new SmtpClient();
scMailServer.DeliveryMethod = SmtpDeliveryMethod.Network;
scMailServer.Credentials = new NetworkCredential("XXX", "XXX");
scMailServer.Host = "smtp.163.com";
scMailServer.Port = 25;
scMailServer.Send(msg);
}
要發送郵件,先了解郵件有哪些內容構成:
郵件服務器地址
端口
寄件人
收件人
副本人
密件人
標題
正文
附件
知道這些內容后,我們就知道在設置郵件時需要設置哪些東西了。
如何發呢?
發送郵件需使System.Net.Mail命名空间
使用其中的SmtpClient、MailMessage和Attachment三個類。
1. MailMessage:表示可以使用 SmtpClient 类发送的电子邮件。(郵件的信息)
2. Attachment:表示电子邮件的附件。
3. SmtpClient:允许应用程序使用简单邮件传输协议 (SMTP) 来发送电子邮件。
注:郵件中的內容與MailMessage中屬性的對應如下:
邮件部分 | 属性 |
---|---|
发件人 | From |
收件人 | To |
抄送 (CC) | CC |
密件抄送 (BCC) | Bcc |
附件 | Attachments |
主题 | Subject |
邮件正文 | Body |
/// <summary>
/// 發送郵件的基礎代碼(不需要設定寄件者賬戶及密碼)
/// </summary>
private static void SendMailBaseCode()
{
//實例化郵件信息類
MailMessage msg = new MailMessage();
//寄件人
msg.From = new MailAddress(MailSender);
//收件人
msg.To.Add("XXX@xxx.com");
//標題
msg.Subject = "test";
//標題編碼
msg.SubjectEncoding = Encoding.UTF8;
//正文
msg.Body = "test body";
//正文編碼
msg.BodyEncoding = Encoding.UTF8;
//正文是否用Html形式
msg.IsBodyHtml = false;
//實例化附件類
//附件
Attachment amAnnex = new Attachment(@"D:\ckmsg.txt");
msg.Attachments.Add(amAnnex);
//實例化SMTPClinet類
SmtpClient scMailServer = new SmtpClient();
//郵件服務器地址
scMailServer.Host = "xxx.xxx.xxx.xxx";
//端口
scMailServer.Port = 25;
//發送郵件
scMailServer.Send(msg);
}
/// <summary>
/// 發送郵件的基礎代碼(需要賬號)
/// </summary>
private static void SendMailNeedBaseCode()
{
MailMessage msg = new MailMessage();
msg.From = new MailAddress("XXX@163.com");
msg.To.Add("XXX@xxx.com");
msg.Subject = "test";
msg.SubjectEncoding = Encoding.UTF8;
Attachment amAnnex = new Attachment(@"D:\ckmsg.txt");
msg.Attachments.Add(amAnnex);
msg.Body = "test body";
msg.BodyEncoding = Encoding.UTF8;
msg.IsBodyHtml = true;
SmtpClient scMailServer = new SmtpClient();
scMailServer.DeliveryMethod = SmtpDeliveryMethod.Network;
scMailServer.Credentials = new NetworkCredential("XXX", "XXX");
scMailServer.Host = "smtp.163.com";
scMailServer.Port = 25;
scMailServer.Send(msg);
}
相关文章推荐
- C#使用smtp发送邮件带附件
- C#使用smtp发送带附件的邮件实现方法
- C# 发送邮件(内容中可以插入图片,邮件可以添加附件,163邮箱、QQ邮箱等都可以使用)
- 在 Laravel 5.1 中使用SMTP驱动实现邮件发送(含附件和图片)详细教程
- C#使用SMTP发送附件
- C#使用163的SMTP服务器发送邮件
- C# 发送邮件(内容中可以插入图片,邮件可以添加附件,163邮箱、QQ邮箱等都可以使用)
- C# 使用smtp发送邮件
- php使用smtp发送支持附件的邮件示例
- C#使用SMTP发送附件
- C#发送邮件(使用Gmail或自己配置的SMTP)
- 使用C#编写简单的图形化的可发送附件的邮件客户端程序
- .NET(C#):使用SmtpClient发送带有图片和附件的电子邮件
- C#使用SMTP发送邮件实例
- C#使用smtp发送邮件
- C# 使用smtp发送邮件
- C#使用163的SMTP服务器发送邮件
- 使用UTL_SMTP发送中文邮件及使用UTL_TCP从附件服务器获取中文附件
- C#中邮件发送的函数(使用SMTP)
- 使用python smtplib 发送带附件的邮件