Aegis Implicit Mail — это бесплатная библиотека с открытым исходным кодом, предназначенная для предоставления быстрого и удобного для разработчиков API для отправки электронных писем через порты SMTP.
К сожалению, Microsoft.Net.Mail SSL Mails не поддерживает неявную почту SSL и до сих пор используется многими серверами, включая порт 465 Gmail, здесь AIM предлагает удобную и быструю альтернативу отправке почты smtp.
Двоичные файлы доступны в виде пакета NuGet.
Чтобы получить локальную копию текущего кода, клонируйте его с помощью git:
$ git clone https://github.com/nilnull/AIM.git
Если вы хотите получить образец почтового сообщения SMTP, вы можете написать свою программу точно так же, как вы пишете, используя System.Net.Mail.
private void SendEmail ( )
{
var mail = " [email protected] " ;
var host = " smtp.gmail.com " ;
var user = " yourUserName " ;
var pass = " yourPassword " ;
//Generate Message
var mymessage = new MimeMailMessage ( ) ;
mymessage . From = new MimeMailAddress ( mail ) ;
mymessage . To . Add ( mail ) ;
mymessage . Subject = " test " ;
mymessage . Body = " body " ;
//Create Smtp Client
var mailer = new MimeMailer ( host , 465 ) ;
mailer . User = user ;
mailer . Password = pass ;
mailer . SslType = SslMode . Ssl ;
mailer . AuthenticationMode = AuthenticationType . Base64 ;
//Set a delegate function for call back
mailer . SendCompleted += compEvent ;
mailer . SendMailAsync ( mymessage ) ;
}
//Call back function
private void compEvent ( object sender , AsyncCompletedEventArgs e )
{
if ( e . UserState != null )
Console . Out . WriteLine ( e . UserState . ToString ( ) ) ;
Console . Out . WriteLine ( " is it canceled? " + e . Cancelled ) ;
if ( e . Error != null )
Console . Out . WriteLine ( " Error : " + e . Error . Message ) ;
}
Как вы, возможно, знакомы с System.Net.Mail , при отправке почты у нас есть четыре важных объекта:
Для каждого письма вам необходимо сгенерировать почтовое сообщение,
AIM использует ту же архитектуру. У нас есть обычные (mime) письма и smime-сообщения, которые могут быть в простом отправителе или в SSL Sender, кроме того, SSL Sender может быть неявным и явным.
Более подробную информацию можно найти на нашей вики.
Пожалуйста, проверьте наш архив здесь
AIM поставляется NilNull из PKI.Tools, и особая благодарность тем, кто нам помогает: