質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1860閲覧

phpmailer の宛先が重複してしまう

taka211

総合スコア17

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2021/05/01 13:25

前提・実現したいこと

指定のメールアドレスにメール+DBに登録のあるメールアドレスに違う内容を一斉送信をしたい。

発生している問題・エラーメッセージ

以下のコードにて実行したところ、二度目の送信時の内容を一度目のアドレスにも送ってしまいます。
重複してしまう理由を教えていただきたいです。

該当のソースコード

php

1//SMTP設定済み 2//アドレスに、タイトル、本文を送信する関数 3 public function send_mail($address, $title, $text) 4 { 5 try { 6 $this->mailer->addAddress($address, $address); 7 //Content 8 $this->mailer->isHTML(true); // Set email format to HTML 9 $this->mailer->Subject = mb_encode_mimeheader($title); 10 $this->mailer->Body = $text; 11 $this->mailer->send(); 12 } catch (Exception $e) { 13 echo 'Message could not be sent. Mailer Error: ', $this->mailer->ErrorInfo; 14 } 15 }

php

1$address ='hoge@xxx.jp' ; 2 $title = 'xxx'; 3 $text = 'xxx'; 4 5 $mail_handler = new MailHandler(); 6 $mail_handler->send_mail($address, $title, $text); 7 8 //$rowsには複数のユーザの情報が格納(DBから) 9 foreach ($rows as $row) { 10 $a_address = $row['email']; 11 $a_text = 'xxx'; 12 $mail_handler->send_mail($a_address, $title, $a_text); 13 }

補足情報(FW/ツールのバージョンなど)

PHP Version 7.4.7
phpmailer 6.4.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

PHPMailerなるものに詳しくはありませんが、たぶん同一の$mail_handlerを使いまわしてaddAddressしているからではないでしょうか?想像するにaddAddressは宛先を「追加」するメソッドなのでは?
この場合、使いまわすこと自体はまあ構わないと思いますので、addAddressする前にclearAddressesしてあげれば良いのかなと思います。

投稿2021/05/01 17:28

編集2021/05/01 18:36
itagagaki

総合スコア8402

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

itagagaki

2021/05/01 18:36 編集

あ、ありがとうございます。(^^; 回答の clearAddress を clearAddresses に修正しておきました。
taka211

2021/05/02 05:21

おかげさまで解決いたしました!ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問