マニュアル‎ > ‎SMTP‎ > ‎

メールを送信

iill_SMTP_Send( Host ; Port ; SSL ; Timeout )/*SSL= 0 or 1 */

メールを送信


構文

iill_SMTP_Send( メールサーバー ; ポート番号 ; SSL(0または1) ; タイムアウト時間:秒)

引数

メールサーバー
ポート番号
SSL 0=未使用、1=使用
タイムアウト時間:秒(秒数で指定)

戻り値

正常終了=0
エラー = エラーメッセージ

説明

送信メールのエンコード
 ISO-2022-JP

ヘッダー情報:From,To,Cc,Subject など
 ISO-2022-JP/BASE64

本文
 Content-Type: text/plain; charset="iso-2022-jp"
 Content-Transfer-Encoding: 7bit

添付ファイル
 BASE64

※エンコードは固定です。変更することは出来ません。

注意! サービスパックがインストールされていない.NET Framework 2.0では、「Content-Transfer-Encoding: sevenbit」と誤った記述になる場合がある。.Net Framework 2.0 SP1以降はOK!。

Microsoft .NET Framework 2.0 Service Pack 2
Microsoft .NET Framework 2.0 Service Pack 1 (x86)

[FIX] System.Net.Mime 名前空間または System.Net.Mail 名前空間を使用する Visual Studio 2005 プログラムを実行すると、TransferEncoding プロパティの値が正しくないことがある
http://support.microsoft.com/default.aspx/KB/927858

※iill_SMTP_Send関数はエラーの有無に関わらず、送信処理の後、現在のメールを破棄します。


Ver 2.0.0.5 以降で iill_SMTP_Send を実行した場合、SMTPサーバーと接続されたままになります。

iill_SMTP_Dispose でSMTPサーバーとの接続を切断して下さい。

以下の例では、GmailのSMTPサーバーでメールを送信しています。

//SMTP認証設定
iill_SMTPAuthentication( "*****@gmail.com" ;  "******" )

//送信
iill_SMTP_Send( "smtp.gmail.com" ; "25" ; "1" ; "30")

※gmailのsmtpポートについて
 MailMakerPop+でgmailを利用する場合、smtpポーは"25"または、"587"になります。

※gmailはメール送信時「SMTP認証が必要です。」

SMTP|暗号化|SSL (Secure Sockets Layer)について

SMTP/TLS(TCP/587):対応しています。
SMTP over SSL(TCP/465) :対応していません。

「MSDN ライブラリ」より
事前に SSL セッションが確立され、その後にプロトコル コマンドが送信されるという、代替接続方法もあります。この接続方法は、SMTP/SSL、SMTP over SSL、または SMTPS と呼ばれることがあり、既定ではポート 465 を使用します。SSL を使用するこの代替接続方法は、現在はサポートされていません。
SmtpClient.EnableSsl プロパティ (System.Net.Mail) : http://msdn.microsoft.com/ja-jp/library/system.net.mail.smtpclient.enablessl.aspx


Comments