ホームページ  >  記事  >  データベース  >  PHP 開発の実践: PHPMailer を使用して MySQL データベースの管理者に電子メールを送信する

PHP 開発の実践: PHPMailer を使用して MySQL データベースの管理者に電子メールを送信する

王林
王林オリジナル
2023-07-01 15:16:40667ブラウズ

PHP 開発の実践: PHPMailer を使用して MySQL データベースの管理者に電子メールを送信する

Web アプリケーションの開発プロセスでは、電子メールの送信が一般的な要件になります。ユーザーが操作を完了するか、システムがイベントを生成すると、多くの場合、関連する管理者に電子メールで通知する必要があります。この記事では、PHPMailer ライブラリを使用して電子メールを送信し、電子メールの内容を MySQL データベースに保存する方法を紹介します。

1. PHPMailer ライブラリをインストールする

  1. PHPMailer ライブラリをプロジェクトにインストールすると、Composer を通じて依存関係を管理できるようになります。コマンド ラインで次のコマンドを実行してインストールします:

    composer require phpmailer/phpmailer
  2. PHPMailer ライブラリをプロジェクトのエントリ ファイルに導入します:

    require 'vendor/autoload.php';

2データベース テーブルの作成
MySQL データベースに「emails」という名前のテーブルを作成し、電子メール関連の情報を保存します。テーブル構造は次のとおりです。

CREATE TABLE `emails` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `to_email` varchar(255) NOT NULL,
  `subject` varchar(255) NOT NULL,
  `message` text NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
);

3. 電子メールを送信し、データベースに保存します。

  1. 電子メールを送信するための関数を作成します。

    function sendEmail($to, $subject, $message) {
     $mail = new PHPMailerPHPMailerPHPMailer();
     // 邮件服务器配置
     $mail->isSMTP();
     $mail->Host = 'smtp.example.com';
     $mail->Username = 'your_email@example.com';
     $mail->Password = 'your_email_password';
     $mail->SMTPAuth = true;
     $mail->SMTPSecure = 'tls';
     $mail->Port = 587;
    
     // 邮件内容设置
     $mail->setFrom('from@example.com', 'Your Name');
     $mail->addAddress($to);
     $mail->Subject = $subject;
     $mail->Body = $message;
    
     // 发送邮件
     if ($mail->send()) {
         // 邮件发送成功,保存到数据库
         $mysqli = new mysqli('localhost', 'username', 'password', 'database');
         $stmt = $mysqli->prepare("INSERT INTO `emails` (`to_email`, `subject`, `message`) VALUES (?, ?, ?)");
         $stmt->bind_param('sss', $to, $subject, $message);
         $stmt->execute();
         $stmt->close();
         $mysqli->close();
         
         return true;
     } else {
         // 邮件发送失败
         return false;
     }
    }
  2. 電子メール送信関数を呼び出し、受信者、電子メールの件名、および内容を渡します:

    $to = 'admin@example.com';
    $subject = '有新的通知';
    $message = '您有一个新的通知,请登录后台查看。';
    
    if (sendEmail($to, $subject, $message)) {
     echo '邮件发送成功并保存到数据库。';
    } else {
     echo '邮件发送失败。';
    }

上記のコード例を通じて、必要な場所に電子メールを送信できます。 sendEmail 関数を呼び出すと、PHPMailer 経由で電子メールを送信し、電子メール情報を MySQL データベースに保存できます。

概要:
この記事では、PHPMailer ライブラリを使用して電子メールを送信し、電子メールのコンテンツを MySQL データベースに保存する開発方法を紹介します。メール送信機能をカプセル化してデータベースに保存することで、Webアプリケーションにメール通知機能をより柔軟に適用できます。同時に、PHPMailer を使用すると、より複雑な電子メール送信のニーズも実現できます。この記事が PHP 開発者のメール送信実践の参考になれば幸いです。

以上がPHP 開発の実践: PHPMailer を使用して MySQL データベースの管理者に電子メールを送信するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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