【发布时间】:2020-03-23 09:19:37
【问题描述】:
我尝试向多个收件人发送电子邮件,但没有成功。当我只将它发送给一个收件人时它会起作用。 我将电子邮件地址放在一个数组变量中。
我将从数据库中获得的电子邮件放入数组变量$dt。这是$dt 包含
array(3) { [0]=> string(21) "a@gmail.com" [1]=> string(21) "b@gmail.com" [2]=> string(24) "c@gmail.com" }
这个我试过了
//get email from database
$mail = $this->Hire_model->get_email_recruiter();
$dt = array();
for ($i=0; $i < (count($mail)-1) ; $i++) {
if ($mail[$i+1]['Email'] == '') {
$dt[$i] = 'hr.movement@gmail.com';
}else{
$dt[$i] = $mail[$i+1]['Email'];
}
}
//Load PHPMailer Library
$this->load->library('phpmailer_lib');
//PHPMailer object
$mail = $this->phpmailer_lib->load();
//SMTP configuration
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = 'hire.movement@gmail.com';
$mail->Password = '********';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->setFrom('info@codexworld.com', 'KompasGramedia');
$mail->addReplyTo('info@example.com', 'KompasGramedia');
//Add a recipient
$mail->addAddress($dt);
// Email Subject
$requestor = $this->session->userdata('FullName');
$mail->Subject = 'Request Promotion by '.$requestor;
// Set email format to HTML
$mail->isHTML(true);
$mailContent = 'Messages';
$mail->Body = $mailContent;
// Send email
if(!$mail->send()){
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
}else{
echo 'Message has been sent';
}
我不知道为什么当我使用超过 1 个电子邮件收件人时它不起作用。谁能帮帮我??
【问题讨论】:
-
$mail = $this->Hire_model->get_email_recruiter();返回什么?你能举个例子吗? -
我已经更新了。请检查一下
-
你为什么要使用
'Email'数组键来引用$mail?该数组中没有'Email'键,因此$dt变量不会得到任何值,你能告诉这个块上for循环的目的是什么:for ($i=0; $i < (count($mail)-1) ; $i++)? -
array(3) { [0]=> string(21) "a@gmail.com" [1]=> string(21) "b@gmail.com" [2]=> string(24) "c@gmail.com" } 这是我 vardump($dt) 时的结果。
-
我想区分email和其他数据,所以我只把email放在$dt中,
标签: php codeigniter email