メールボックスワールドワイドウェブニュースレターSMTP

ナンセンスな話をしないでください、人々は忙しいです

結果リファレンス

http://www.ucsmy.net/RegistrationManage/RegistrationInfo.aspx

web.configの構成と呼び出しをマスターする必要があります

SMTP関連の知識を理解する必要があるのはもっと面倒です

エンコーディング暗号化を理解する必要があります

StringBuilderを理解する

html UI 美工

ここでの送信メールはQQを使用しています

web.config構成 

<appSettings>がノードの下に追加されました 

 <!-ρ送邮件->
  <add key = "email-Address" value = "[email protected]" />  

<!-これはQQの独立したパスワードを使用します(PSはQQログインパスワードではありません)1 QQメールボックスの設定を検索します2アカウントを検索し、クリックして以下を検索します

POP3 / IMAP / SMTP / Exchange / CardDAV / CalDAV服务
->
  <add key = "email-psd" value = "cao919" />  

<!-QQの送信サーバーが使用されています。あなたの会社が使用しているサーバーはsmtp.qq.comを変更する可能性があります->

  <add key = "email-host" value = "smtp.qq.com" />         

  <!-WebRootは、将来、会社のドメイン名に置き換えられます->
  <add key = "webRoot" value = "http:// localhost:8888 /" />



次に、データが正常に追加されたときに送信します

<pre name="code" class="csharp">if (IsAdd) //数据新增成功
                {
   
   
<pre name="code" class="csharp">//<span style="font-family: Arial, Helvetica, sans-serif;">user</span>
string webRoot = System.Configuration.ConfigurationManager.AppSettings ["webRoot"]。ToString(); StringBuilder urlsb = new StringBuilder(); string url = "http:// mail。" + user.Email.Split( '@')[1]; urlsb.Append( "<div style = 'margin:50px auto; background:#e5f5fc; border-radius:5px 5px 5px 5px; width:698px; height:100%; font-size:12px; color:#000;オーバーフロー:hidden; '> <img src =' https://usercenter.yihaojiaju.com/Images-2.0/common/newlogo-new.png'/> <p style = 'padding:10px 50px 0 50px; line-height: 30px; '> ").Append(" <span style =' color:#f01c1c; '>您好!感谢您使用**システムから。</ span> ")。Append(" <br/> ").Append ( "您的注册帐号是:<span style = 'color:#f01c1c;'>")。Append(
user
.StaffID).Append( "</ span>パスワードは次のとおりです:<span style = 'color:#f01c1c;'>" +
user
.Pwd + "登録が成功したらパスワードを変更してください!</ span>")。Append( "<br/> <spanstyle = 'color:#f01c1c;'>メールアカウントを有効にすると、多機能を使用できます。 </ span> <br/> ").Append(" <a style = 'color:#258DCC; font-size:11pt;' ").Append(" href = '"+ webRoot +" Sys / Staff / StaffEmailSuccess .aspx?id = ")。Append(SerializerHelper.Encrypt(
user
.StaffID.ToString()))。Append( "&LoginUser =")。Append(SerializerHelper.Encrypt(
user
.Name))。Append( "")。Append( "")。Append( "'>")。Append( "").Append( "ここをクリック").Append( "</a>")。Append ( "アカウントをすぐにアクティブ化します(リンクは12時間以内に有効です)<br/> <a style = 'color:#3E83D1;'")。Append( "href = '" + webRoot + "Sys / Staff / StaffEmailSuccess。 aspx?id = ")。Append(SerializerHelper.Encrypt(
user
.StaffID.ToString()))。Append( "&LoginUser =")。Append(SerializerHelper.Encrypt(
user
.Name))。Append( "")。Append( "")。Append( "'>")。Append(webRoot + "Sys / Staff / StaffEmailSuccess.aspx?id =")。Append(SerializerHelper.Encrypt(
user
.StaffID.ToString()))。Append( "&LoginUser =")。Append(SerializerHelper.Encrypt(
user
.Name))。Append( "</a> <br/>")。Append( "<-このリンクをクリックできない場合は、上記のリンクをブラウザのアドレスバーにコピーしてアクセスしてください-> < br /> ")。Append("このレターはNo.1家庭用MSシステムから送信されます。システムは返信レターを受け付けません。直接返信しないでください。ご不明な点がございましたら、お問い合わせください。 ")。Append ( "<br/> <span style = 'font-weight:bold; font-size:12px;'>サービスをご利用いただきありがとうございます</ span> <br/>").Append( "** <br/> National Service Hotline:4000-000-00 <br/> ").Append(" </ p> <div style = 'height:39px; background:#099be6; color:#fff; font-size:16px; text- align:center; line-height:39px; '> cao919 / div> ")。Append(" </ div> ");

 
 
//调用下面的方法
                    bool sendEmail = BaseComm.Email_Send(<pre name="code" class="csharp">user
.Email、 "[***システム]をアクティブにしてください"、urlsb.ToString()); stringメッセージ= "<script language = javascript>";メッセージ+ = "if(confirm(\"は正常に担当者を入力しました!入力を続行します?\ ")){";メッセージ+ = "window.location.href = \" userAdd.aspx? ";メッセージ+ ="} else {parent.location.reload();} ";メッセージ+ =" </スクリプト> "; Response.Write(Message);}
 
 
 
 


2番目のステップに必要なヘルプ

 BaseComm类

<pre name="code" class="csharp">/// <summary>
        /// 发送邮件
        /// </summary>
        /// <param name="MessageTo"></param>
        /// <param name="MessageSubject"></param>
        /// <param name="MessageBody"></param>
        /// <returns></returns>
        public static bool Email_Send(string MessageTo, string MessageSubject, string MessageBody)
        {
            Regex r = new Regex("^\\s*([A-Za-z0-9_-]+(\\.\\w+)*@(\\w+\\.)+\\w{2,5})\\s*$");
            if (!r.IsMatch(MessageTo))
                return false;
            if (string.IsNullOrEmpty(MessageTo))
                return false;
            MailMessage message = new MailMessage();
            string fromAddress = ConfigurationManager.AppSettings["email-Address"];
            string psd = ConfigurationManager.AppSettings["email-psd"];
            message.From = new MailAddress(fromAddress, "MS系统");
            try
            {
                message.To.Add(MessageTo); //收件人邮箱地址可以是多个以实现群发  
            }
            catch
            {
                return false;
            }
            message.Subject = MessageSubject;
            message.Body = MessageBody;
            message.IsBodyHtml = true; //是否为html格式  
            message.Priority = MailPriority.High; //发送邮件的优先等级  
            SmtpClient sc = new SmtpClient();
            sc.Host = ConfigurationManager.AppSettings["email-Host"]; //指定发送邮件的服务器地址或IP  
            sc.Port = 25; //指定发送邮件端口  
            sc.Credentials = new System.Net.NetworkCredential(fromAddress, psd); //指定登录服务器的用户名和密码(发件人的邮箱登陆密码)
            try
            {
                sc.Send(message); //发送邮件  
            }
            catch (Exception ex)
            {
              //  LogHelper(new Guid().ToString(), 1);
                return false;
            }
            return true;

        }


 
 

暗号化と復号化のための3つのヘルプ方法

SerializerHelperクラス

 /// <summary>
    /// 加密Token
    /// </summary>
    /// <param name="token">明文Token</param>
    /// <returns>加密的Token</returns>
    public static string Encrypt(string content)
    {
        if (string.IsNullOrEmpty(content))
        {
            return string.Empty;
        }
        Byte[] bytes = Encoding.UTF8.GetBytes(content);
        //把8位字节数组转换成Base64字符串  
        return Convert.ToBase64String(bytes);
    }
    /// <summary>
    /// 解密Token
    /// </summary>
    /// <param name="token">密文Token</param>
    /// <returns>解密的Token</returns>
    public static string Decrypt(string content)
    {
        if (string.IsNullOrEmpty(content))
        {
            return string.Empty;
        }
        byte[] tokenByte = Convert.FromBase64String(content);
        //把Base64字符串转换成8位字节数组
        return Encoding.UTF8.GetString(tokenByte);
    }


おすすめ

転載: blog.csdn.net/cao919/article/details/46855947