一、首先需要配置web.config檔案:
<system.net>
<mailSettings>
<smtp from="Emailname">
<network host="smtp.163.com" userName="Emailname" password="Emailpassword"
port="25" defaultCredentials="false"/>
</smtp>
</mailSettings>
</system.net>二、然後編寫發送郵件的函數:
/**//// <summary>
/// 郵件發送方法(帶附件)
/// </summary>
/// <param name="mailto">收件者地址。如:mailto:receiver@163.com%3C/param>
/// <param name="mailsubject">郵件標題</param>
/// <param name="mailbody">郵件內文</param>
/// <param name="mailFrom">郵件發送人地址。如:mailto:sender@163.com%3C/param>
/// <param name="list">附件路徑</param>
/// <returns></returns>
public bool MySendMail(string mailto, string mailsubject, string mailbody, string mailFrom, ArrayList list)
...{
try
...{
//郵件發送人地址
System.Net.Mail.MailAddress from = new System.Net.Mail.MailAddress(mailFrom);
//如test@163.com,初步測試,用test@sina.com不行,用163的郵件伺服器,就必須用163郵箱的使用者名稱
//收件者地址
System.Net.Mail.MailAddress to = new System.Net.Mail.MailAddress(mailto);//如test@tom.com
System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(from, to);
mail.Subject = mailsubject;
mail.Body = mailbody;
//以下設定伺服器
System.Net.Mail.SmtpClient mySmth = new System.Net.Mail.SmtpClient();
//以下為增加附件
int count = list.Count;
for (int i = 0; i < count; i++)
...{
System.Net.Mail.Attachment data = new System.Net.Mail.Attachment(list[i].ToString());
mail.Attachments.Add(data);
}
mySmth.Send(mail);
mail.Dispose();
return true;
}
catch
...{
return false;
}
}
三、最後就是對函數的調用了:
//自動發送郵件
string mailSubject = "會員註冊確認函";
string mailBody = "本文內容。";
string mailFrom = ConfigurationManager.AppSettings["SendMail"];
ArrayList List = new ArrayList();
List.Add(Server.MapPath(ConfigurationManager.AppSettings["SendMailText"]));
if (MySendMail(this.txtEmail.Text, mailSubject, mailBody, mailFrom, List))
...{
ShowAndRedirect(this, "註冊確認函已經發送到你的郵箱,請查收!", "index.aspx");
}
else
...{
ShowAndRedirect(this, "郵件發送失敗!", "index.aspx");
return;
}
本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/h1jie/archive/2008/01/21/2057212.aspx