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

使用C#通过GMAIL发送邮件.

2013-04-23 09:46 591 查看
Mail.cs
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.Net.Mail;
usingSystem.Net;
usinglog4net;
usingSystem.Configuration;

namespaceMasterSoft.WinUI
{
///<summary>
///发邮件模块
///Author:tonyepaper.cnblogs.com
///</summary>
publicclassMail
{
privatestringsenderAddress;
///<summary>
///发件人
///</summary>
publicstringSenderAddress
{
get{returnsenderAddress;}
set{senderAddress=value;}
}
privatestringreceiverAddess;
///<summary>
///收件人
///</summary>
publicstringReceiverAddess
{
get{returnreceiverAddess;}
set{receiverAddess=value;}
}
privatestringsubject;
///<summary>
///主题
///</summary>
publicstringSubject
{
get{returnsubject;}
set{subject=value;}
}
privatestringbody;
///<summary>
///内容
///</summary>
publicstringBody
{
get{returnbody;}
set{body=value;}
}
privatestringsmtpHost;
///<summary>
///SMTP主机
///</summary>
publicstringSmtpHost
{
get{returnsmtpHost;}
set{smtpHost=value;}
}
privateintsmtpPort;
///<summary>
///SMTP端口
///</summary>
publicintSmtpPort
{
get{returnsmtpPort;}
set{smtpPort=value;}
}
privatestringsmtpPassword;
///<summary>
///SMTP密码
///</summary>
publicstringPassword
{
get{returnsmtpPassword;}
set{this.smtpPassword=value;}
}
///<summary>
///从配置文件中读出SMTP相关信息
///</summary>
publicMail()
{
senderAddress=ConfigurationManager.AppSettings["SmtpUser"];
smtpPassword=ConfigurationManager.AppSettings["SmtpPassword"];
smtpHost=ConfigurationManager.AppSettings["SmtpHost"];
smtpPort=Int32.Parse(ConfigurationManager.AppSettings["SmtpPort"]);
}
///<summary>
///邮件
///</summary>
///<paramname="receiverAddess">收件人地址</param>
///<paramname="subject">主题</param>
///<paramname="body">内容</param>
publicMail(stringreceiverAddess,stringsubject,stringbody):this()
{
this.receiverAddess=receiverAddess;
this.subject=subject;
this.body=body;
}
///<summary>
///发送邮件
///</summary>
publicboolSend()
{
MailMessagemailMessage=newMailMessage(senderAddress,receiverAddess);
mailMessage.Subject=subject;
mailMessage.Body=body;

SmtpClientsmtpClient=newSmtpClient(smtpHost,smtpPort);
//使用SSL加密连线
smtpClient.EnableSsl=true;
NetworkCredentialnetworkCredential=newNetworkCredential(senderAddress,smtpPassword);
smtpClient.Credentials=networkCredential;
try
{
smtpClient.Send(mailMessage);
returntrue;
}
catch(Exceptionex)
{
returnfalse;
}
}
}
}
App.config
<?xmlversion="1.0"encoding="utf-8"?>
<configuration>
<appSettings>
<addkey="SmtpHost"value="smtp.gmail.com"/>
<addkey="SmtpPort"value="587"/>
<addkey="SmtpUser"value="tonyxxx@gmail.com"/>
<addkey="SmtpPassword"value="*******"/>
</appSettings>
</configuration>




/article/5133979.html

另一种用法:

usingSystem;
usingSystem.ComponentModel;
usingSystem.Net;
usingSystem.Net.Mail;
usingSystem.Text;
usingSystem.Windows.Forms;
namespaceMyMail
{
publicpartialclassForm1:Form
{
publicForm1()
{
InitializeComponent();
}
privatevoidbutton1_Click_1(objectsender,EventArgse)
{
//MailMessageSetting
stringfromEmail="XXX@gmail.com";
stringfromName="C.H.Huang";
MailAddressfrom=newMailAddress(fromEmail,fromName,Encoding.UTF8);
stringtoEmail="YYY@gmail.com";
MailMessagemail=newMailMessage(from,newMailAddress(toEmail));
stringsubject="TestSubject";
mail.Subject=subject;
mail.SubjectEncoding=Encoding.UTF8;
stringbody="TestBody";
mail.Body=body;
mail.BodyEncoding=Encoding.UTF8;
mail.IsBodyHtml=false;
mail.Priority=MailPriority.High;
//SMTPSetting
SmtpClientclient=newSmtpClient();
client.Host="smtp.gmail.com";
client.Port=587;
client.Credentials=newNetworkCredential("username@gmail.com","password");
client.EnableSsl=true;
//SendMail
client.SendAsync(mail,mail);
//SentCompeletedEevet
client.SendCompleted+=newSendCompletedEventHandler(client_SendCompleted);
}
//HandleSentCompeletedEevet
privatevoidclient_SendCompleted(objectsender,AsyncCompletedEventArgse)
{
if(e.Error!=null)
{
MessageBox.Show(e.Error.ToString());
}
else
{
MessageBox.Show("Messagesent.");
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐