ホームページ >バックエンド開発 >PHPチュートリアル >SMTP プロトコルと TLS 暗号化を使用して PHP を使用して電子メールを送信する方法

SMTP プロトコルと TLS 暗号化を使用して PHP を使用して電子メールを送信する方法

王林
王林オリジナル
2023-05-22 08:23:062183ブラウズ

インターネットの継続的な発展に伴い、電子メールは人々の日常の仕事や生活における重要なコミュニケーション ツールの 1 つになりました。ネットワーク開発では、多くの場合、コードを使用してユーザーまたは他のシステムに通知やリマインダーなどの電子メールを送信する必要があります。この記事では、PHP 言語を使用して SMTP プロトコルと TLS 暗号化を通じて電子メールを送信する方法を紹介します。

1. SMTP プロトコルの概要

SMTP の正式名称は (Simple Mail Transfer Protocol) で、メールの送信に使用されるネットワーク プロトコルであり、メールの送信方法と受信方法を規定しています。メソッドとサーバー間のメール転送ルール。

SMTP プロトコルを使用して電子メールを送信する場合は、SMTP サーバーのアドレス、ポート、ユーザー名、パスワードなどの情報を使用する必要があります。 SMTP サーバーのアドレスは通常、電子メール プロバイダーによって提供され、ポート番号は通常 25 です。電子メールを暗号化して送信する必要がある場合は、SMTP サーバーの SSL 暗号化または TLS 暗号化方式を使用する必要があります。

2. TLS 暗号化方式の紹介

TLS の正式名称は Transport Layer Security (Transport Layer Security) で、ネットワーク通信のセキュリティを保護するためによく使われる暗号化通信プロトコルです。 。

TLS 暗号化を使用して電子メールを送信する場合、SMTP サーバーは暗号化証明書をクライアントに送信し、クライアントが検証に合格すると、公開キー暗号化を使用して電子メール情報を SMTP サーバーに送信します。

3. PHP を使用してメールを送信するための準備

PHP を使用してメールを送信する場合は、次の情報を準備する必要があります。 SMTP サーバー番号

    送信者のメールアドレスとパスワード
  1. 受信者のメールアドレス、メールの件名と内容など
  2. 4. PHP を使用してメールを送信する手順
上記の情報を準備したら、PHP コードを使用して電子メールの送信を完了できます。PHP を使用して電子メールを送信するための具体的な手順は次のとおりです:

SMTP サーバー情報を設定します

  1. PHP では、「PHPMailer」クラスを使用して、SMTP プロトコルと TLS 暗号化電子メール送信を実装できます。まず、SMTP サーバーのアドレス、ポート番号、TLS 暗号化方式などを設定する必要がありますが、コードは次のとおりです:
  2. $mail = new PHPMailer();
    $mail->isSMTP();
    $mail->SMTPDebug = 2;                                 
    $mail->SMTPAuth = true;                              
    $mail->SMTPSecure = 'tls';                           
    $mail->Host = 'smtp.gmail.com';  
    $mail->Port = 587;                                    
このコードでは、SMTP サーバーのアドレスを「smtp.gmail」として使用します。 com」、ポート番号は 587、SMTPSecure パラメータは「tls」に設定され、電子メールの送信に TLS 暗号化が使用されることを示します。

送信者情報の設定
  1. 次に、送信者のメール アドレスとパスワードを設定する必要があります。コードは次のとおりです。
    $mail->Username = 'youremail@gmail.com'; 
    $mail->Password = 'yourpassword';   
    $mail->setFrom('youremail@gmail.com', 'Your Name');

    受信者情報の設定

  2. 次に、メールの受信者、件名、本文などの情報を設定する必要があります。コードは次のとおりです:
$mail->addAddress('recipient1@example.com', 'Recipient Name');
$mail->addAddress('recipient2@example.com');
$mail->addReplyTo('info@example.com', 'Information');
$mail->addCC('cc@example.com');
$mail->addBCC('bcc@example.com');
$mail->Subject = 'The Paper Airplane Contest';
$mail->Body    = 'Dear Recipient, <br><br> Are you ready for the upcoming paper airplane contest?';
$mail->AltBody = 'Dear Recipient, Are you ready for the upcoming paper airplane contest?';
    これらのコードでは、addAddress() 関数を使用して受信者アドレスを追加し、setFrom() 関数を使用して送信者アドレスを設定し、addCC() 関数と addBCC() 関数を使用して CC アドレスと BCC アドレスを設定しました。
電子メールを送信する

最後に、send() 関数を使用して電子メールを送信する必要があります。完全なコードは次のとおりです:

$mail = new PHPMailer();
$mail->isSMTP();
$mail->SMTPDebug = 2;                                 
$mail->SMTPAuth = true;                              
$mail->SMTPSecure = 'tls';                           
$mail->Host = 'smtp.gmail.com';  
$mail->Port = 587;                                    
$mail->Username = 'youremail@gmail.com'; 
$mail->Password = 'yourpassword';   
$mail->setFrom('youremail@gmail.com', 'Your Name');
$mail->addAddress('recipient1@example.com', 'Recipient Name');
$mail->addAddress('recipient2@example.com');
$mail->addReplyTo('info@example.com', 'Information');
$mail->addCC('cc@example.com');
$mail->addBCC('bcc@example.com');
$mail->Subject = 'The Paper Airplane Contest';
$mail->Body    = 'Dear Recipient, <br><br> Are you ready for the upcoming paper airplane contest?';
$mail->AltBody = 'Dear Recipient, Are you ready for the upcoming paper airplane contest?';
if(!$mail->send()) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent';
}
    5. 概要
  1. この記事では、PHP 言語を使用して SMTP プロトコルと TLS 暗号化を通じて電子メールを送信する方法を紹介します。この方法でメールを送信する場合は、SMTPサーバーのアドレスとポート番号、送信者のメールアドレスとパスワード、受信者のメールアドレス、メールの件名と内容などを用意し、PHPコードでこれらの情報を設定する必要があります。 、send() 関数を使用して電子メールを送信します。

以上がSMTP プロトコルと TLS 暗号化を使用して PHP を使用して電子メールを送信する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。