Aegis Implicit Mail は、SMTP ポートを使用して電子メールを送信するための高速で開発者に優しい API を提供するように設計された無料のオープンソース ライブラリです。
残念ながら、Microsoft.Net.Mail Ssl Mail は Implicit Ssl Mail をサポートしておらず、Gmail のポート 465 を含む多くのサーバーで依然として使用されています。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についてはよくご存知かと思いますが、メール送信には 4 つの重要なオブジェクトがあります。
メールごとにメールメッセージを生成する必要があります。
AIM も同じアーキテクチャを使用します。通常の (mime) メールと smime メールがあり、単純な送信者または Ssl 送信者に含めることができ、さらに、SSL 送信者は暗黙的および明示的にすることができます。
詳細については、Wiki をご覧ください。
ここでアーカイブをチェックしてください
AIM は、PKI.Tools の NilNull によって提供されています。ご協力いただいた方々に特別な感謝を捧げます。