73 lines
1.8 KiB
C#
73 lines
1.8 KiB
C#
using MailKit;
|
|
using MailKit.Security;
|
|
using MimeKit;
|
|
|
|
|
|
namespace IRaCIS.Core.Application.Helper;
|
|
|
|
public static class SendEmailHelper
|
|
{
|
|
|
|
public static async Task SendEmailAsync(MimeMessage messageToSend, EventHandler<MessageSentEventArgs>? messageSentSuccess = null)
|
|
{
|
|
using (var smtp = new MailKit.Net.Smtp.SmtpClient())
|
|
{
|
|
if (messageSentSuccess != null)
|
|
{
|
|
smtp.MessageSent += messageSentSuccess;
|
|
}
|
|
|
|
|
|
smtp.ServerCertificateValidationCallback = (s, c, h, e) => true;
|
|
|
|
await smtp.ConnectAsync("smtp.163.com", 465, SecureSocketOptions.SslOnConnect);
|
|
|
|
await smtp.AuthenticateAsync("iracis_grr@163.com", "XLWVQKZAEKLDWOAH");
|
|
|
|
await smtp.SendAsync(messageToSend);
|
|
|
|
await smtp.DisconnectAsync(true);
|
|
|
|
}
|
|
}
|
|
|
|
public static async Task SendEmailAsync(MimeMessage messageToSend, SMTPEmailConfig sMTPEmailConfig, EventHandler<MessageSentEventArgs>? messageSentSuccess = null)
|
|
{
|
|
using (var smtp = new MailKit.Net.Smtp.SmtpClient())
|
|
{
|
|
if (messageSentSuccess != null)
|
|
{
|
|
smtp.MessageSent += messageSentSuccess;
|
|
}
|
|
|
|
|
|
smtp.ServerCertificateValidationCallback = (s, c, h, e) => true;
|
|
|
|
await smtp.ConnectAsync(sMTPEmailConfig.Host, sMTPEmailConfig.Port, SecureSocketOptions.SslOnConnect);
|
|
|
|
await smtp.AuthenticateAsync(sMTPEmailConfig.UserName, sMTPEmailConfig.AuthorizationCode);
|
|
|
|
await smtp.SendAsync(messageToSend);
|
|
|
|
await smtp.DisconnectAsync(true);
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public class SMTPEmailConfig
|
|
{
|
|
public int Port { get; set; }
|
|
|
|
public string Host { get; set; }
|
|
|
|
|
|
public string UserName { get; set; }
|
|
|
|
public string AuthorizationCode { get; set; }
|
|
}
|