送信/受信メールを可能な限り安全にする方法を模索しています。
まず、私のドメインにはワイルドカードOV SSL証明書があり、.csr
、.crt
、および.key
ファイルのコピーがありますが、.p12
のPKCS12ファイルはありません。または.pfx
、SSL証明書からこれらを取得して、Outlook、Thunderbirdなどの電子メールクライアントを介して送信電子メールにデジタル署名できるようにすることはできますか?
次に、電子メールクライアントに使用できる、または使用する必要がある現在の「最も安全な」/「最良の」セキュリティ設定は、使用可能なすべてのオプションです。
接続セキュリティ:
認証方法:
接続セキュリティ:
認証方法:
最後になりましたが、PHPMailerについても同じことが言えます。TLSまたはSSLを使用する必要があります(どちらが良いですか?)
$phpmailer->SMTPSecure = "tls"; // Choose SSL or TLS, if necessary for your server
P12の作成方法でこれを試してください。
openssl pkcs12 -export -in cert.crt -inkey cert.key -name "Your Name" -out cert.p12
以下は、企業が展開するのにすでに「安全」で実用的です。
着信ポート:POP3995またはIMAP993(SSL/TLS)
SMTP認証が必要
送信メールサーバー(SMTP)ポート:465(SSL/TLS)
SMTP認証が必要
最後に、可能な限りTLSを使用します。 TLSのパフォーマンスは向上し、一部のSSLプロトコルにはセキュリティの問題があります。
インバウンドオプションはPHPMailerには適用されません。ポート465(SMTPS)のSSLは、1998年以降非推奨になっていますが、Microsoftは気付いていないようです。代わりに、ポート587でSMTP + STARTTLSを使用します。これは、SMTPSecure = 'tls'
&Port = 587
を使用するときにPHPMailerが行うことです。 PHPMailerは便宜的なTLSを実行することに注意してください。TLSを使用するように指示せず、それをサポートするサーバーに接続すると、自動的に使用されます。
最近のPHPMailer5.2バージョンはGmailのXOAUTH2認証をサポートしており、6.0は他の多くのプロバイダーのサポートを追加しています。
PHP 5.6より古い)を使用している場合は、証明書の検証を有効にする必要があります(PHP 5.6+はデフォルトで有効にします)。