PhpMailer,如何为多个 addCC 电子邮件地址正确写入变量值?
PhpMailer, how do I write the variable value correctly for multiple addCC email address?
我有一个 PhpMailer 工作代码如下:(简短版)
(之前已经定义的变量)
// Sender and recipient settings
$mail->setFrom($pengirim_email, $pengirim_nama);
$mail->addAddress($untuk_email, $untuk_nama);
$mail->addReplyTo($pengirim_email, $pengirim_nama);
接下来,我为抄送邮件添加多个电子邮件地址:
$mail-->addCC('aaa@gmail.com','Abdul');
$mail-->addCC('bbb@gmail.com','Borat');
它按预期工作。
现在因为我计划电子邮件地址将来自 SQL 查询,所以暂时我想知道如何填写 SQL 'CarbonCopy' 列 table 具有多个电子邮件地址 - 通过尝试创建一个“硬编码”变量值。所以我尝试这样作为上面 addCC
的替代品:
$tembusan="'aaa@gmail.com','Abdul';'bbb@gmail.com','Borat'"; //not working
$CC = explode(';', $tembusan); //not working
for ($i = 0; $i < count($CC); $i++) {$mail->addCC($CC[$i]);} //not working
但它抛出这样的错误:
Error in sending email. Mailer Error: Invalid address: (cc):
'aaa@gmail.com','Abdul'
所以我把$tembusan
改成这样:
$tembusan="aaa@gmail.com,Abdul;bbb@gmail.com,Borat"; //not working
它给了我几乎和之前一样的错误:
Error in sending email. Mailer Error: Invalid address: (cc):
aaa@gmail.com,Abdul
接下来,我也试试这种代码:
$tembusan="'aaa@gmail.com','Abdul';'bbb@gmail.com','Borat'"; //not working
$CC = explode(';', $tembusan); //not working
foreach($CC as $CCemail){$mail->AddCC($CCemail;} //not working
它也抛出同样的错误:
Error in sending email. Mailer Error: Invalid address: (cc):
'aaa@gmail.com','Abdul'
如果我像这样回显最后的代码 foreach($CC as $CCemail){echo $CCemail. '<br/>';}
,它会给我这样的结果:
'aaa@gmail.com','Abdul'
'bbb@gmail.com','Borat'
在我的真实代码中,我有一个有效的电子邮件地址。上述代码中的电子邮件地址仅作为示例。
我哪里做错了?
PS
顺便说一句,如果我删除电子邮件地址的“名称”:
$tembusan="aaa@gmail.com;bbb@gmail.com"; //working
$CC = explode(';', $tembusan); //working
foreach($CC as $CCemail){$mail->AddCC($CCemail;} //working
它按预期运行(但在 gmail 中,CC 名称是 aaa 和 bbb)。
请进一步展开。尝试
$tembusan="aaa@gmail.com,Abdul;bbb@gmail.com,Borat";
$CC = explode(';', $tembusan);
for ($i = 0; $i < count($CC); $i++) {
$DD = explode(',', $CC[$i]);
$mail->addCC($DD[0], $DD[1]);
}
请注意,我已经删除了 ' 字符。 (您可以使用 str_replace 或 PHP 来消除这些字符)
我有一个 PhpMailer 工作代码如下:(简短版)
(之前已经定义的变量)
// Sender and recipient settings
$mail->setFrom($pengirim_email, $pengirim_nama);
$mail->addAddress($untuk_email, $untuk_nama);
$mail->addReplyTo($pengirim_email, $pengirim_nama);
接下来,我为抄送邮件添加多个电子邮件地址:
$mail-->addCC('aaa@gmail.com','Abdul');
$mail-->addCC('bbb@gmail.com','Borat');
它按预期工作。
现在因为我计划电子邮件地址将来自 SQL 查询,所以暂时我想知道如何填写 SQL 'CarbonCopy' 列 table 具有多个电子邮件地址 - 通过尝试创建一个“硬编码”变量值。所以我尝试这样作为上面 addCC
的替代品:
$tembusan="'aaa@gmail.com','Abdul';'bbb@gmail.com','Borat'"; //not working
$CC = explode(';', $tembusan); //not working
for ($i = 0; $i < count($CC); $i++) {$mail->addCC($CC[$i]);} //not working
但它抛出这样的错误:
Error in sending email. Mailer Error: Invalid address: (cc): 'aaa@gmail.com','Abdul'
所以我把$tembusan
改成这样:
$tembusan="aaa@gmail.com,Abdul;bbb@gmail.com,Borat"; //not working
它给了我几乎和之前一样的错误:
Error in sending email. Mailer Error: Invalid address: (cc): aaa@gmail.com,Abdul
接下来,我也试试这种代码:
$tembusan="'aaa@gmail.com','Abdul';'bbb@gmail.com','Borat'"; //not working
$CC = explode(';', $tembusan); //not working
foreach($CC as $CCemail){$mail->AddCC($CCemail;} //not working
它也抛出同样的错误:
Error in sending email. Mailer Error: Invalid address: (cc): 'aaa@gmail.com','Abdul'
如果我像这样回显最后的代码 foreach($CC as $CCemail){echo $CCemail. '<br/>';}
,它会给我这样的结果:
'aaa@gmail.com','Abdul'
'bbb@gmail.com','Borat'
在我的真实代码中,我有一个有效的电子邮件地址。上述代码中的电子邮件地址仅作为示例。
我哪里做错了?
PS
顺便说一句,如果我删除电子邮件地址的“名称”:
$tembusan="aaa@gmail.com;bbb@gmail.com"; //working
$CC = explode(';', $tembusan); //working
foreach($CC as $CCemail){$mail->AddCC($CCemail;} //working
它按预期运行(但在 gmail 中,CC 名称是 aaa 和 bbb)。
请进一步展开。尝试
$tembusan="aaa@gmail.com,Abdul;bbb@gmail.com,Borat";
$CC = explode(';', $tembusan);
for ($i = 0; $i < count($CC); $i++) {
$DD = explode(',', $CC[$i]);
$mail->addCC($DD[0], $DD[1]);
}
请注意,我已经删除了 ' 字符。 (您可以使用 str_replace 或 PHP 来消除这些字符)