ナンセンスな話をしないでください、人々は忙しいです
結果リファレンス
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アカウントを検索し、クリックして以下を検索します
<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);
}