您的位置:首页 > 编程语言 > C#

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中屬性的對應如下:

邮件部分
属性
发件人
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);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: