Tips

SMTPでSSLを使用する

日付2010/12/15
ID76215 (英語原文参照)
バージョン12.1
プラットフォームMac/Win

この記事は、最新ではないバージョンに関連した方法について解説しています。

最新のバージョンでは推奨されていないか、または他の方法で簡単に実現できる可能性があります。

4D Internet CommandsプラグインのSMTPコマンドは, 4D v12.1よりSSLがサポートされるようになりました。

この記事に掲載されているコード中, 変数<>UseSMTPsslはSSL使用時はTrue, 非使用時はFalseに設定されることが想定されています。

はじめにIT_SetPortでSMTPのポート番号を変更します。

If (<>UseSMTPssl)
    // use ssl
  $error:=IT_SetPort (12;465) // 12 sets the ssl smtp port, i used port 465
Else 
    // dont use ssl
  $error:=IT_SetPort (2;25) // 2 sets the non ssl smtp port, i used port 25
End if

メールを送信するにはSMTP_Sendコマンドを使用します。

If (<>UseSMTPssl)
    // use ssl
  $error:=SMTP_Send ($smtp_id;1) //1 to use ssl
Else 
    // dont use ssl
  $error:=SMTP_Send ($smtp_id;0) // 0 to not use ssl
End if

SMTP_QuickSendであれば次のようなプログラムになります。

If (<>UseSMTPssl)
    // use ssl
  $Error:=SMTP_QuickSend($Host;$FromAddress;$ToAddress;$Subject;$Message;1) // 1 to use ssl
Else 
    // dont use ssl
  $Error:=SMTP_QuickSend($Host;$FromAddress;$ToAddress;$Subject;$Message;0) // 0 to not use ssl
End if