【发布时间】:2018-08-23 10:00:48
【问题描述】:
我正在尝试从输入表单向我的数据库列表中的多个联系人发送电子邮件,当我硬编码特定的电子邮件地址时它可以工作,但是当我尝试引用我的数据库时,我收到错误:
消息:mail():SMTP 服务器响应:503 5.0.0 需要 RCPT(收件人) 文件名:libraries/Email.php
我还收到另一个错误,我认为这可能只是我的电子邮件配置,我不确定它是否;
无法使用 PHP mail() 发送电子邮件。您的服务器可能未配置为使用此方法发送邮件。
我的控制器:
public function sendmail() {
$this->load->library('email');
$this->load->model('Email_model');
$this->load->library('session');
$this->email->from($this->input->post('email'), $this->input->post('name'));
$sendTo['email'] = $this->Email_model->emailsend();
$this->email->to($sendTo);
$this->email->subject('Hello This is an email');
$this->email->message($this->input->post('message'));
if ($this->email->send()){
$this->session->set_flashdata('success','Email has been sent');
redirect('dashboard');
}else{
echo $this->email->print_debugger();
}
我的模特
class Email_model extends CI_Model {
public function emailsend() {
$query = $this->db->query("SELECT email from contacts");
$sendTo=array();
foreach ($query->result() as $row)
{
$sendTo['email']=$row->email;
}
我的观点
<form action="<?php echo site_url('/Dashboard/sendmail');?>" method="post" accept-charset="utf-8">
<?php echo form_open('/Dashboard/sendmail');?>
<label for="name">Your Name</label><input id="name" type="text" name="name">
<label for="email">Your Email</label><input id="email" type="text" name="email">
<label for="message">Your Message</label>
<textarea id="message" name="message" rows="8" cols="50"></textarea>
<input id-"submit" type="submit" name="submit" value="submit">
<?php echo form_close(); ?>
<p><?php echo $flash;?></p>
对任何一个 errpr 的任何帮助都将不胜感激
【问题讨论】:
-
查看您上一个问题的答案:stackoverflow.com/a/49266032/2275490
-
您的模型的
emailsend()函数出现截断。填写$sendTo数组后,它真的返回了一个电子邮件地址吗? -
@rickdenhaan 是的,数据库中有多封电子邮件......而 Vickel 这些是上一个问题中没有提到的错误......
-
@rickdenhaan 当我 var_dump 结果我得到正确的回报
标签: php mysql database codeigniter email