Aegis Implicit Mail은 SMTP 포트를 사용하여 이메일을 보낼 수 있는 빠르고 개발자 친화적인 API를 제공하도록 설계된 무료 오픈 소스 라이브러리입니다.
안타깝게도 Microsoft.Net.Mail Ssl 메일은 암시적 Ssl 메일을 지원하지 않으며 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 에 익숙하시겠지만 메일 전송에는 다음과 같은 네 가지 중요한 개체가 있습니다.
각 메일에 대해 메일 메시지를 생성해야 합니다.
AIM은 동일한 아키텍처를 사용합니다. 일반 발신자 또는 SSL 발신자에 있을 수 있는 일반(mime) 메일과 smime 메일이 있습니다. 또한 SSL 발신자는 암시적이거나 명시적일 수 있습니다.
더 많은 정보는 우리 위키에서 찾아보실 수 있습니다
여기에서 아카이브를 확인하세요.
AIM은 PKI.Tools의 NilNull을 통해 제공되며 도움을 주신 분들께 특별한 감사를 드립니다.