向 codeigniter php 中的多个电子邮件地址发送邮件无效
sending mail to multiple email address in codeigniter php not working
我正在尝试使用 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();
但是这不起作用;它给我错误。
谁能告诉我如何解决它?
提前致谢。
这实际上是您正在使用的 PHPMailer 代码,PHPMailer 的 addAddress
不接受多个电子邮件地址。
http://phpmailer.github.io/PHPMailer/classes/PHPMailer-PHPMailer-PHPMailer.html#method_addAddress
如果您想使用该方法,您将需要遍历列表并分别添加每个列表。
没有 PHP-generated 错误,因为将额外参数传递给方法不会在 PHP 中产生任何类型的错误;它们通过 $argv
数组传递到方法中,但没有唯一的变量名称,因为您没有为它们定义参数占位符。
编辑
我刚才说的仍然是正确的,但再看一遍我发现你现在只传递了一个参数,即来自 implode
的结果字符串,因此它不适用于此。
我正在尝试使用 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();
但是这不起作用;它给我错误。
谁能告诉我如何解决它?
提前致谢。
这实际上是您正在使用的 PHPMailer 代码,PHPMailer 的 addAddress
不接受多个电子邮件地址。
http://phpmailer.github.io/PHPMailer/classes/PHPMailer-PHPMailer-PHPMailer.html#method_addAddress
如果您想使用该方法,您将需要遍历列表并分别添加每个列表。
没有 PHP-generated 错误,因为将额外参数传递给方法不会在 PHP 中产生任何类型的错误;它们通过 $argv
数组传递到方法中,但没有唯一的变量名称,因为您没有为它们定义参数占位符。
编辑
我刚才说的仍然是正确的,但再看一遍我发现你现在只传递了一个参数,即来自 implode
的结果字符串,因此它不适用于此。