Rumah > pangkalan data > tutorial mysql > Amalan Pembangunan PHP: Gunakan PHPMailer untuk menghantar e-mel kepada pentadbir dalam pangkalan data MySQL

Amalan Pembangunan PHP: Gunakan PHPMailer untuk menghantar e-mel kepada pentadbir dalam pangkalan data MySQL

王林
Lepaskan: 2023-07-01 15:16:40
asal
818 orang telah melayarinya

Amalan Pembangunan PHP: Gunakan PHPMailer untuk menghantar e-mel kepada pentadbir dalam pangkalan data MySQL

Semasa pembangunan aplikasi web, penghantaran e-mel adalah keperluan biasa. Apabila pengguna menyelesaikan operasi atau sistem menjana acara, kami selalunya perlu memberitahu pentadbir yang berkaitan melalui e-mel. Artikel ini akan memperkenalkan cara menggunakan perpustakaan PHPMailer untuk menghantar e-mel dan menyimpan kandungan e-mel ke pangkalan data MySQL.

1. Pasang perpustakaan PHPMailer

  1. Pasang pustaka PHPMailer dalam projek, dan anda boleh menguruskan kebergantungan melalui Komposer. Jalankan arahan berikut pada baris arahan untuk memasang:

    composer require phpmailer/phpmailer
    Salin selepas log masuk
  2. Perkenalkan perpustakaan PHPMailer ke dalam fail kemasukan projek:

    require 'vendor/autoload.php';
    Salin selepas log masuk

2. Buat jadual pangkalan data
Buat jadual bernama "e-mel" dalam MySQL pangkalan data. Digunakan untuk menyimpan maklumat berkaitan e-mel. Struktur jadual adalah seperti berikut:

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`)
);
Salin selepas log masuk

3. Hantar e-mel dan simpannya ke pangkalan data

  1. Buat fungsi untuk menghantar e-mel:

    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;
     }
    }
    Salin selepas log masuk
  2. Panggil fungsi hantar e-mel dan masukkan penerima, subjek e-mel dan kandungan:

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

Dengan contoh kod di atas, kita boleh memanggil fungsi sendEmail di mana kita perlu menghantar e-mel dan menyimpannya ke pangkalan data, supaya kita boleh menghantar e-mel melalui PHPMailer dan menyimpan maklumat e-mel ke pangkalan data MySQL.

Ringkasan:
Artikel ini memperkenalkan amalan pembangunan menggunakan perpustakaan PHPMailer untuk menghantar e-mel dan menyimpan kandungan e-mel ke pangkalan data MySQL. Dengan merangkum fungsi menghantar e-mel dan menyimpannya ke pangkalan data, kami boleh menggunakan fungsi pemberitahuan e-mel dalam aplikasi web dengan lebih fleksibel. Pada masa yang sama, menggunakan PHPMailer juga boleh mencapai keperluan penghantaran e-mel yang lebih kompleks. Saya harap artikel ini dapat memberi rujukan untuk amalan pembangun PHP dalam menghantar e-mel.

Atas ialah kandungan terperinci Amalan Pembangunan PHP: Gunakan PHPMailer untuk menghantar e-mel kepada pentadbir dalam pangkalan data MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan