ASPでNET Core 1.0でメール送信機能を実現
6794 ワード
いくつかのプロジェクトをaspに移行する準備ができています.Netcoreはまずクラスライブラリをカプセル化し,メール送信クラスに遭遇したときにasp.Netcore 1.0ではSMTP関連クラスライブラリを提供していることが示されており、ネット上で検索するとMailKitが発見された
良いものは必ず試してみてください.ましてオープンソースで、以下はコードがSMTPメールを送信することができます.
以上のコードの同期非同期は問題ありません
注:普通のメールボックスはテンセント企业の邮便物、163などすべて成功を送ることができて、しかしアリ云のメールのプッシュに失败して、もし达人がアリ云のプッシュを実现することができるメールがあれば教えてください、とても感谢します!
良いものは必ず試してみてください.ましてオープンソースで、以下はコードがSMTPメールを送信することができます.
using MailKit.Net.Smtp;
using MailKit.Security;
using MimeKit;
using System.Threading.Tasks;
namespace ConsoleApp1
{
public class MailHelper
{
public static void Send(string email, string subject, string message)
{
var emailMessage = new MimeMessage();
emailMessage.From.Add(new MailboxAddress("tianwei blogs", "[email protected]"));
emailMessage.To.Add(new MailboxAddress("mail", email));
emailMessage.Subject = subject;
emailMessage.Body = new TextPart("plain") { Text = message };
using (var client = new SmtpClient())
{
client.Connect("smtp.hantianwei.cn", 465, true);
client.Authenticate("[email protected]", "******");
client.Send(emailMessage);
client.Disconnect(true);
}
}
public static async Task SendEmailAsync(string email, string subject, string message)
{
var emailMessage = new MimeMessage();
emailMessage.From.Add(new MailboxAddress("tianwei blogs", "[email protected]"));
emailMessage.To.Add(new MailboxAddress("mail", email));
emailMessage.Subject = subject;
emailMessage.Body = new TextPart("plain") { Text = message };
using (var client = new SmtpClient())
{
await client.ConnectAsync("smtp.hantianwei.cn", 25, SecureSocketOptions.None).ConfigureAwait(false);
await client.AuthenticateAsync("[email protected]", "******");
await client.SendAsync(emailMessage).ConfigureAwait(false);
await client.DisconnectAsync(true).ConfigureAwait(false);
}
}
}
}
以上のコードの同期非同期は問題ありません
注:普通のメールボックスはテンセント企业の邮便物、163などすべて成功を送ることができて、しかしアリ云のメールのプッシュに失败して、もし达人がアリ云のプッシュを実现することができるメールがあれば教えてください、とても感谢します!