在codeigniter中发送带有一个或多个收件人的电子邮件

时间:2015-04-10 02:48:09

标签: php codeigniter email

我在表格中有一个字段,其中包含我的用户的一些电子邮件。该领域看起来像这样:

| no_request |    addresed_to                                              |
+--------------------------------------------------------------------------+
|   001      |    email1@domain.com, email2@domain.com, email3@domain.com  |

我使用codeigniter php使用MVC概念。所以我创建了这样的模型:

public function sendEmail($no_request){
    $this->db->select('approved_to');
    $this->db->where('no_request', $no_request);
    $query = $this->db->get('tbl_requestfix');

    return $query->row();
}

这是我的控制者:

public function sendRequestKeAtasan($name, $email_user, $addressed_to, $complaint) {
    $config = Array(
        'protocol' => 'smtp',
        'smtp_host' => 'smtp.XXX.XXX,
        'smtp_port' => 25,
        'smtp_user' => $email_, 
        'mailtype' => 'html',
        'charset' => 'iso-8859-1',
        'wordwrap' => TRUE
    );

    $message = date("h:i:s");
    $this->load->library('email', $config);
    $this->email->set_newline("\r\n");
    $this->email->from($email_user, $name);
    $this->email->to($addressed_to);
    $this->email->subject("$no_request);
    $this->email->message("$keluhan");

    if ($this->email->send()) {
        echo 'Email sent.';
    } else {
        show_error($this->email->print_debugger());
    }
}

正如您所看到的,在我的表格中,我有3封电子邮件地址。那么,我该如何将电子邮件发送给3位用户?

3 个答案:

答案 0 :(得分:1)

提供了codeigniter文档,

  

设置收件人的电子邮件地址。可以是一封电子邮件,   以逗号分隔的列表或数组

例如:

$this->email->to('someone@example.com');
$this->email->to('one@example.com, two@example.com, three@example.com');
$this->email->to(array('one@example.com', 'two@example.com', 'three@example.com'));

在这种情况下,您使用逗号分隔值保存电子邮件地址。所以,你可以像这样发送它们。

$result = $this->your_model->sendEmail($no_request);
sendRequestKeAtasan($name, $email_user, $result->addressed_to, $complaint);

希望它对你有用。

答案 1 :(得分:0)

您可以将收件人电子邮件添加到阵列并将其传递给to参数

检查

Sending mail to multiple recipients with sendgrid and codeigniter

答案 2 :(得分:0)

使用","爆炸你的$ addressing_to创建数组并将其传递给"到" CI电子邮件类的方法..这是一个例子;

$this->email->to(explode(","$addressed_to));