ホームページ >バックエンド開発 >PHPチュートリアル >PHPでメールを送信するにはどうすればよいですか? PHPMailerを使用して実装
php でメールを送信するにはどうすればよいですか?この記事では、PHPMailer SMTP を使用して電子メールを送信する方法を紹介し、PHPMailer の設定方法と使用方法を理解します。一定の参考値があるので、困っている友達は参考にしていただければ幸いです。
PHPMailer は、人気のある PHP 電子メール送信ライブラリです。 mail() 関数または SMTP を介したメール送信をサポートします。つまり、PHPMailer は、PHP ベースの環境で電子メールを送信する効率的な方法です。
見てみましょう
ステップ 1 - PHPMailer の詳細を収集します
Hostinger SMTP で PHPMailer を使用するには、まず、メールアカウント。これは、Web ホスト パネルの [電子メール アカウント] セクションで行うことができます。
完了したら、同じセクションにある SMTP の詳細を取得します。
これで 4 つのセクションができます。それらは:
1、電子メール アカウントのユーザー名
2、電子メール アカウントのパスワード
3、SMTP ホスト
4、SMTP ポート
ステップ 2 - PHPMailer のインストール
必要な詳細がすべて揃ったので、PHPMailer のセットアップを開始できます。簡単な方法は Composer を使用することです。これは共有ホスティング プランにプリインストールされているため、SSH 経由で接続し、次のコマンドを実行するだけです:
cd public_html
その後、次のコマンドを実行します:
composer require phpmailer/phpmailer
インストールが完了するまでしばらくお待ちください。完了すると、新しく作成されたディレクトリに PHPMailer が表示されます。
ステップ 3 - PHPMailer を理解する
PHPMailer とその仕組みを理解するために、SMTP を使用した配信の例を見てみましょう。
<?php use PHPMailer\PHPMailer\PHPMailer; require '../vendor/autoload.php'; $mail = new PHPMailer; $mail->isSMTP(); $mail->SMTPDebug = 2; $mail->Host = 'mx1.hostinger.com'; $mail->Port = 587; $mail->SMTPAuth = true; $mail->Username = 'test@hostinger-tutorials.com'; $mail->Password = 'EMAIL_ACCOUNT_PASSWORD'; $mail->setFrom('test@hostinger-tutorials.com', 'Your Name'); $mail->addReplyTo('reply-box@hostinger-tutorials.com', 'Your Name'); $mail->addAddress('example@gmail.com', 'Receiver Name'); $mail->Subject = 'PHPMailer SMTP message'; $mail->msgHTML(file_get_contents('message.html'), __DIR__); $mail->AltBody = 'This is a plain text message body'; $mail->addAttachment('test.txt'); if (!$mail->send()) { echo 'Mailer 错误: ' . $mail->ErrorInfo; } else { echo '发送消息!'; } ?>
各コンポーネントの機能を見てみましょう:
プロのヒント:
SMTPDebug = 2 ; 次の場合に役立ちます。スクリプトをテストして、それがどのように機能するかを確認します。
エンド ユーザーに SMTP 配信レポートが表示されないようにするには、最終ビルドでこれを SMTPDebug = 0; に設定します。
コード全体を調べると、最初の例とは少し異なることを行っていることがわかります。 HTML メッセージを送信しています。そのコンテンツは、同じディレクトリにある message.html ファイルから取得されます。これにより、テキストの書式設定が可能になり、プレーン テキスト メッセージよりも多くの機能が提供されます。
ステップ 4 - PHPMailer スクリプトの実行
testphpmailer.php ファイルを作成し、前に取得した SMTP の詳細をすべてのフィールドに入力しましょう。ブラウザに「YourDomain.com/testphpmailer.php」と入力してスクリプトを実行すると、次のようなメッセージが表示されます。
ステップ 5 - PHPMailer 問い合わせフォームの例
PHPMailer は、単純なメッセージの送信以外にも使用できます。これを活用する方法の 1 つは、訪問者やユーザーが連絡できる連絡フォームを作成することです。このようなスクリプトの基本的な例を次に示します。
<?php use PHPMailer\PHPMailer\PHPMailer; require '../vendor/autoload.php'; $mail = new PHPMailer; $mail->isSMTP(); $mail->Host = 'mx1.hostinger.com'; $mail->Port = 587; $mail->SMTPAuth = true; $mail->Username = 'test@hostinger-tutorials.com'; $mail->Password = 'EMAIL_ACCOUNT_PASSWORD'; $mail->setFrom('test@hostinger-tutorials.com', 'Mr. Drago'); $mail->addAddress('example@gmail.com', 'Receiver Name'); if ($mail->addReplyTo($_POST['email'], $_POST['name'])) { $mail->Subject = 'PHPMailer contact form'; $mail->isHTML(false); $mail->Body = <<<EOT Email: {$_POST['email']} Name: {$_POST['name']} Message: {$_POST['message']} EOT; if (!$mail->send()) { $msg = '对不起,出了点问题。请稍后再试。'; } else { $msg = '发送消息成功!谢谢您联络我们。'; } } else { $msg = '电子邮件地址无效,邮件被忽略。'; } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>邮件表单</title> </head> <body> <h1>Let's get in touch!</h1> <?php if (!empty($msg)) { echo "<h2>$msg</h2>"; } ?> <form method="POST"> <label for="name">名称: <input type="text" name="name" id="name"></label><br><br> <label for="email">电子邮件: <input type="email" name="email" id="email"></label><br><br> <label for="message">消息:<textarea name="message" id="message" rows="8" cols="20"></textarea></label><br><br> <input type="submit" value="发送"> </form> </body> </html>
最終結果は次のようになります。
ユーザーがメッセージを送信すると、確認とコンテンツは、addAddress フィールドに入力された電子メール アドレスに届きます。
プロのヒント: PHPMailer の問い合わせフォームが機能しない場合は、次の行を追加して問題の原因を確認してください: $ mail-> SMTPDebug = 2;
完了したら、次の行を追加してください。それを削除するか、ゼロに設定することを忘れないでください。
以上がPHPでメールを送信するにはどうすればよいですか? PHPMailerを使用して実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。