asp.net core 以编程方式发送电子邮件

.net core最佳发送电子邮件的组件可选择SendGrid、MailKit,若使用现有云服务器发送,则选择SendGrid,否则请选择MailKit。以下是MailKit发送SMTP邮件代码示例:

/// <summary>
/// 发送电子邮件
/// </summary>
/// <param name="email"></param>
/// <param name="subject"></param>
/// <param name="message"></param>
/// <returns></returns>
public async Task<bool> SendEmailAsync(string email, string subject, string message)
{
    try
    {
        var mimeMessage = new MimeMessage();

        mimeMessage.From.Add(new MailboxAddress(_emailSetting.SenderName, _emailSetting.SenderEmail));

        mimeMessage.To.Add(new MailboxAddress(email));

        mimeMessage.Subject = subject;

        mimeMessage.Body = new TextPart("html")
        {
            Text = message
        };

        using (var client = new SmtpClient())
        {
            // For demo-purposes, accept all SSL certificates (in case the server supports STARTTLS)
            client.ServerCertificateValidationCallback = (s, c, h, e) => true;

            await client.ConnectAsync(_emailSetting.Server, _emailSetting.Port);

            // Note: only needed if the SMTP server requires authentication
            await client.AuthenticateAsync(_emailSetting.SenderEmail, _emailSetting.Password);

            await client.SendAsync(mimeMessage);

            await client.DisconnectAsync(true);
        }

        return true;
    }
    catch (Exception ex)
    {
        _logger.LogError($"MessageCenterService.SendEmailAsync,error:{ex.Message}");

        return false;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值