[英]Send email with html tags using mailgun
我有使用mailgun發送電子郵件的代碼:
public async Task SendMail(string replyTo, string to, string cc, string subject, string message)
{
var smtpServer = config[ConfigurationSMTP_Server];
var smtpPort = Convert.ToInt32(config[Configuration_SMTP_Port]);
var smtpUsername = config[Configuration.SMTP_Username];
var smtpPassword = config[Configuration.SMTP_Password];
MimeMessage mail = new MimeMessage();
mail.From.Add(new MailboxAddress(String.Empty, smtpUsername));
mail.ReplyTo.Add(new MailboxAddress(String.Empty, replyTo));
mail.To.Add(new MailboxAddress(String.Empty, to));
mail.Cc.Add(new MailboxAddress(String.Empty, cc));
mail.Subject = subject;
mail.Body = new TextPart("plain")
{
Text = message,
};
using (var client = new SmtpClient())
{
client.Connect(smtpServer, smtpPort, false);
client.AuthenticationMechanisms.Remove("XOAUTH2");
client.Authenticate(smtpUsername, smtpPassword);
await client.SendAsync(mail);
client.Disconnect(true);
}
}
它有效,但 br, p html 標簽似乎不適用於郵件。 我怎么能折射這個呢?
這成功了
mail.Body = new TextPart(MimeKit.Text.TextFormat.Html)
{
Text = message,
};
您可以使用 Mailgun 提供的收件人變量和 v: 功能。
例如以下是一個 JSON 字符串 -
r = '{
"foo@boo.com": {"FirstName": "Toby","LastName": "Moon"},
"yoo@too.com": {"FirstName": "Bobby","LastName": "Sun"}
}'
在調用 API 時將其分配給收件人變量。
res = requests.post(
"API url",
auth=("api", "API key"),
data={
"from": "<yourdomain@yourdomain.com">,
"to": ["List of Emails"],
"subject": "Test Email",
"recipient-variables": r,
'v:FirstName':'%recipient.FirstName%',
'v:LastName':'%recipient.LastName%',
})
print(res)
然后,您可以在任何地方使用 %recipient.value% 來動態引用它。
以下鏈接包含步驟 - Mailgun 收件人變量
以上是Python中的一個例子。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.