提问人:love lio 提问时间:2/11/2022 最后编辑:user3783243love lio 更新时间:2/11/2022 访问量:281
在 CodeIgniter PHP 中向多个电子邮件地址发送邮件不起作用 [已关闭]
sending mail to multiple email address in codeigniter php not working [closed]
问:
我正在尝试使用phpmailer将邮件发送到使用CodeIgniter网站中的复选框选择的电子邮件,
<input class="acb" type="checkbox" name="email[]" value="<?= $val->email?>" />
PHP的
$this->load->library('phpmailer_lib');
$mail = $this->phpmailer_lib->load();
$mail->isSMTP();
$mail->Host = '';
$mail->SMTPAuth = true;
$mail->Username = '';
$mail->Password = '';
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
$mail->setFrom('admin@', 'Test');
$mail->addReplyTo('admin@', 'Test');
$mail->addAddress(implode(', ', $this->input->post('email')));
$mail->Subject = 'Important';
$mail->isHTML(true);
$mailContent = $this->input->post('content');
$mail->Body = $mailContent;
$mail->send();
但是,这是行不通的;它给了我错误。
谁能告诉我如何解决它?
提前致谢。
答:
2赞
parttimeturtle
2/11/2022
#1
这实际上是您正在使用的 PHPMailer 代码,并且 PHPMailer 不接受多个电子邮件地址。addAddress
http://phpmailer.github.io/PHPMailer/classes/PHPMailer-PHPMailer-PHPMailer.html#method_addAddress
如果要使用该方法,则需要遍历列表并单独添加每个列表。
没有PHP生成的错误,因为将额外的参数传递给方法不会在PHP中产生任何类型的错误;它们通过数组传递到方法中,但没有唯一的变量名称,因为您没有为它们定义参数占位符。$argv
编辑
我刚才说的仍然是正确的,但再看一遍,我发现现在你只传入了一个参数,即由此产生的字符串,所以它不适用于此。implode
评论