用C#實現用免費smtp伺服器(GMail)發郵件)

來源:互聯網
上載者:User

原文地址:http://www.cnblogs.com/skywind/archive/2007/09/21/901734.html

Method 1

--------------------------------------------------------------------------------------------------------


View Code

// using System.Net.Mail;
MailMessage message = new MailMessage();
message.From = new MailAddress("Sender@gmail.com", "Your DisplayName"); // 寄件者郵箱地址和顯示名稱
message.To.Add(new MailAddress("Recipients@gmail.com")); // 收件者地址,可以設定多個

message.Subject = "郵件標題" ;

message.Body = "郵件內文";

message .IsBodyHtml = false; // 設定郵件內文是否為 html 格式的值
message .BodyEncoding = System.Text.Encoding.UTF8;  // 設定郵件內文編碼
message .Priority = MailPriority.Normal; // 設定電子郵件的優先順序

// 包含附件

string attachPath = "附件地址";

System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(attachPath); 

attachment.Name = System.IO.Path.GetFileName(attachPath); // 附件名稱
attachment.NameEncoding = System.Text.Encoding.GetEncoding("gb2312"); // 附件名稱的編碼
attachment.TransferEncoding = System.Net.Mime.TransferEncoding.Base64; // 設定附件的編碼
attachment.ContentDisposition.Inline = true;
attachment.ContentDisposition.DispositionType = System.Net.Mime.DispositionTypeNames.Inline;
string cid = attachment.ContentId; // 關鍵性的地方,這裡得到一個id數值

message .Attachments.Add(attachment); // 可以添加多個附件

 

SmtpClient client = new SmtpClient();

client .Host = "smtp.gmail.com"; // 設定 smtp 事務的主機名稱或 IP 地址
client .Port = 587; // 連接埠號碼

client.Credentials = new System.Net.NetworkCredential("Sender@gmail.com", "mailbox password"); // Your mail address & password
client.EnableSsl = true; // 經過ssl加密,gmail 郵箱必須設定為 ture

try
{
client.Send(message);
Response.Write("郵件發送到" + message.To.ToString() + "<br>");
}
catch (Exception ee)
{
Response.Write(ee.messageage + "<br>" + ee.InnerException.messageage);

Method 2
------------------------------------------------------------------------------------------------------

// http://weblogs.asp.net/scottgu/archive/2005/12/10/432854.aspx

View Code

// using System.Net.Mail;
MailMessage message = new MailMessage();
message.From = new MailAddress("Sender@gmail.com"); 

message.To.Add(new MailAddress("Recipients@gmail.com")); 

message.Subject = "This is my subject"
message.Body = "This is the content"
SmtpClient client = new SmtpClient();
client.EnableSsl = true;  // 經過ssl加密,gmail 郵箱必須設定為 ture 

try
{
client.Send(message);
Response.Write("郵件發送到" + message.To.ToString() + "<br>");
}
catch (Exception ee)
{
Response.Write(ee.Message );
} //In web.config

<system.net>
<mailSettings>
<smtp from="displayName<from@gmail.com>">
<network host="smtp.gmail.com" port="587" userName="Sender@gmail.com" password="your pwd" />
<!-- if has 'defaultCredentials="true"' , using Gmail can not send success -->
</smtp>
</mailSettings>
</system.net>

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.