私はあなたの確認/招待方法で使用すると、パーソナライズされた電子メールの確認/招待状を送信するには、このようなものを使用できることを前提としています
public ActionResult Your_Method()
{
//... your auth login ....
//Load email setting from config
var EmailFrom = ConfigurationManager.AppSettings["EmailFrom"];
var EmailTo = ConfigurationManager.AppSettings["EmailTo"];
var EmailSubject = ConfigurationManager.AppSettings["EmailSubject"];
var currentUser = //your current user data for example from session or from the code/database;
try
{
if (currentUser != null)
{
using (var smtp = new SmtpClient())
{
using (var message = new MailMessage())
{
var from = new MailAddress(EmailFrom);
var to = new MailAddress(EmailTo);
message.To.Add(to);
message.From = from;
message.Subject = EmailSubject;
message.IsBodyHtml = true;
message.Body = [email protected]"
Dear user: {currentUser.FName ?? string.Empty} {currentUser.LName ?? string.Empty} <br/>
Welcome to our website! Your id: {currentUser.Id ?? string.Empty} <br/>
Other information: {currentUser.information ?? string.Empty} <br/>
<br/>
<br/>
Contact Us Email : {"[email protected]"}<br/>
Contact Us Phone : {"+7 913 123 4567"} <br/>
";
smtp.Send(message);
}
}
}
}
}
catch (Exception e)
{
//Log your exception somethere
//e.HandleException(LogLevel.Fatal);
}
//And then you can return some JSON
var response = JsonConvert.SerializeObject(your_return_object);
return new ContentResult {Content = response, ContentEncoding = Encoding.UTF8, ContentType = "application/json"};
//Or show a View or redirect
return View();
//Or show nothing
return return new EmptyResult();
//It depends on your logic
}
あなたはまた、
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appSettings>
<!-- Email configuration -->
<add key="EmailFrom" value="[email protected]" />
<add key="EmailTo" value="[email protected]" />
<add key="EmailSubject" value="subject of your email" />
</appSettings>
<system.net>
<!-- SMTP configuration -->
<mailSettings>
<smtp>
<network host="MAIL_SERVER" port="25" userName="USER_NAME" password="USER_PASSWORD" />
</smtp>
</mailSettings>
</system.net>
...
</configuration>
UPDATEを含める必要があります: 質問が更新されましたので、少し詳しい情報があります: MSDNによるUserManager.SendEmailAsync Method
メソッドの構文は、それがあなたのためにも、よりシンプルである
public virtual Task SendEmailAsync(
TKey userId,
string subject,
string body
)
です。あなたはそのようなことをやって、メールの「ボディ」をカスタマイズすることができます。
var header = "Dear user: <br/>";
var footer = "Thank you <br/> website.com";
var originalBody = "Please confirm your account by clicking this link: <a href=\"" + callbackUrl + "\">link</a>"
var newEmailBody = header+"<br/>"+originalBody+"<br/>"+footer;
await UserManager.SendEmailAsync(user.Id, "Confirm your account", newEmailBody);
私は文字列の補間のためのC#6.0を使用することをお勧めしますあなたはそれについての詳細を読むことができ、ここでHow C# 6.0 Simplifies, Clarifies and Condenses Your Code
を
ことに注意してください電子メールの本文はhtmlなので、あなたはそれをきれいにして、必要に応じてフォーマットすることができます。
私はそれが役に立ちそうです。
お返事ありがとうございます。私は私の質問を編集しました、あなたはそれで私を助けてくれますか? – newbie
@newbie私はより多くの情報を追加しました。 –