zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C#.NET发送邮件的实例代码

c#Net实例代码 发送 邮件
2023-06-13 09:15:03 时间
复制代码代码如下:

usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.Net.Mail;
usingSystem.Net;
namespaceMyQuery.Utils
{
   ///<summary>
   ///封装邮件处理
   ///by贾世义2011-6-3
   ///</summary>
   publicstaticclassMailHelper
   {
       privatestaticstringsmtpHost=null;
       privatestaticintsmptPort=25;
       privatestaticboolsmtpIsUserCredentials=false;
       privatestaticstringsmtpCredentialAccount=null;
       privatestaticstringsmtpCredentialPassword=null;
       ///<summary>
       ///设置发送邮件参数
       ///</summary>
       ///<paramname="host">smtp服务器地址或名称</param>
       ///<paramname="port">smtp服务端口一般为25</param>
       ///<paramname="isUserCredentials">是否需要认证</param>
       ///<paramname="account">需要认证时的用户</param>
       ///<paramname="password">需要认证时的用户的密码</param>
       publicstaticvoidSetParameters(stringhost,intport,boolisUserCredentials,stringaccount,stringpassword)
       {
           smtpHost=host;
           smptPort=port;
           smtpIsUserCredentials=isUserCredentials;
           smtpCredentialAccount=account;
           smtpCredentialPassword=password;
       }
       ///<summary>
       ///设置发送邮件参数取配置
       ///</summary>
       privatestaticvoidsetParameters()
       {
           if(String.IsNullOrEmpty(smtpHost))
           {
               smtpHost=WebHelper.GetAppConfig("SmtpHost");
               smptPort=DataHelper.GetIntValue(WebHelper.GetAppConfig("SmptPort"),25);
               smtpIsUserCredentials=Constants.TRUE_ID.Equals(WebHelper.GetAppConfig("SmtpIsUserCredentials"));
               smtpCredentialAccount=WebHelper.GetAppConfig("SmtpCredentialAccount");
               smtpCredentialPassword=WebHelper.GetAppConfig("SmtpCredentialPassword");
           }
       }
       ///<summary>
       ///发送邮件发送邮件错误不会抛出异常
       ///</summary>
       ///<paramname="receivers">收件人</param>
       ///<paramname="title">标题/主题</param>
       ///<paramname="content">信件内容</param>
       ///<paramname="sender">发件人空则取系统配置</param>
       publicstaticvoidSendMail(stringreceivers,stringtitle,stringcontent,stringsender)
       {
           if(!String.IsNullOrEmpty(receivers))
           {
               //初始化参数
               setParameters();
               if(!String.IsNullOrEmpty(smtpHost))
               {
                   try
                   {
                       SmtpClientsmtp=newSmtpClient(smtpHost,smptPort);
                       if(smtpIsUserCredentials)
                       {
                           smtp.UseDefaultCredentials=true;
                           smtp.Credentials=newNetworkCredential(smtpCredentialAccount,smtpCredentialPassword);;
                       }
                       smtp.DeliveryMethod=SmtpDeliveryMethod.Network;
                       if(String.IsNullOrEmpty(sender))
                       {
                           sender=smtpCredentialAccount;
                       }
                       foreach(stringreceiverinDataHelper.GetStrings(receivers))
                       {
                           MailMessagemsg=newMailMessage(sender,receiver,title,content);
                           msg.BodyEncoding=Encoding.UTF8;
                           msg.SubjectEncoding=Encoding.UTF8;
                           msg.IsBodyHtml=true;
                           smtp.Send(msg);
                           msg.Dispose();
                       }
                   }
                   catch{}
               }
           }
       }
   }
}