PHPで複数のメールを一括送信する方法
一括送信を実現するためには、PHPのメール送信ライブラリ、または、メールサービスプロバイダのAPIを利用することができる。
PHPMailer ライブラリでメールをまとめて送信するコードのサンプルを以下に示します。
require 'phpmailer/PHPMailerAutoload.php';
// 创建一个新的 PHPMailer 对象
$mail = new PHPMailer();
// 设置邮件服务器的参数
$mail->isSMTP();
$mail->Host = 'smtp.example.com'; // 邮件服务器的主机名
$mail->Port = 587; // 邮件服务器的端口号
$mail->SMTPAuth = true; // 启用 SMTP 认证
$mail->Username = 'your_username'; // 邮件服务器的用户名
$mail->Password = 'your_password'; // 邮件服务器的密码
$mail->SMTPSecure = 'tls'; // 使用 TLS 加密连接
// 设置邮件的发送者和接收者
$mail->setFrom('sender@example.com', 'Sender Name'); // 发件人邮箱和名称
$mail->addAddress('recipient1@example.com', 'Recipient 1'); // 收件人邮箱和名称
$mail->addAddress('recipient2@example.com', 'Recipient 2'); // 可以添加多个收件人
$mail->addAddress('recipient3@example.com', 'Recipient 3');
// 设置邮件的主题和内容
$mail->Subject = 'Test Subject';
$mail->Body = 'This is a test email.';
// 发送邮件
if ($mail->send()) {
echo 'Email sent successfully';
} else {
echo 'Error: ' . $mail->ErrorInfo;
}
最初にPHPMailerライブラリをインポートして、PHPMailerオブジェクトを新規作成します。次に、ホスト名、ポート番号、SMTP認証などのメールサーバの設定をします。それから、送信者と宛先を設定し、複数の宛先を追加できます。最後に、メールの件名と本文を設定し、$mail->send()メソッドを呼び出してメールを送信します。
上記コードはあくまでもシンプルなサンプルですので、実際には宛先リストをデータベースから取得したり、メールのフォーマットを設定したり、添付ファイルを追加したりなど、もっと複雑なロジックが必要になる場合があります。具体的なニーズに合わせて変更・拡張してください。