我无法发送邮件codeigniter

时间:2018-08-28 07:51:55

标签: codeigniter email

使用此代码时,我无法从codeigniter发送邮件到yandex邮件:

$config = Array(
        'protocol' => 'smtp',
        'smtp_host' => 'smtp.yandex.com',
        'smtp_port' => 465,
        'smtp_user' => 'blablabla@yandex.com',
        'smtp_pass' => 'blablabla',
        'mailtype'  => 'html',
        'charset'   => 'iso-8859-1',
        'newline' => "\r\n"
    );
    $this->load->library('email');
    $this->email->initialize($config);

    $msg = $this->messages($f2, $f3);

    $this->email->to($f1);

    $this->email->subject('Here is Subject');
    $this->email->message($msg);

    if($this->email->send()){
        echo "Masuk!";
    }else{
        echo "Gagal!";
    }
    echo $this->email->print_debugger();

结果总是显示:

  

Gagal!无法发​​送没有“ From”标头的邮件。

2 个答案:

答案 0 :(得分:1)

  

无法发送没有“发件人”标题的邮件。

您只需致电

即可在电子邮件中添加一个From地址
$this->email->from('your@example.com', 'Your Name');

$this->email->from('your@example.com');

根据发送方和接收方的不同,这可能会给您带来麻烦,但是,如果您尝试使用另一个From地址发送电子邮件,而不是使用SMTP服务器进行身份验证的地址-可能会被分类为垃圾邮件(或什至立即被SMTP服务器拒绝)-因此,在这种情况下,您应该将blablabla@yandex.com用作From

答案 1 :(得分:0)

您必须设置一个名称和电子邮件作为发件人。 例如,如果您为发件人设置了不同的电子邮件和名称,它将显示在收件箱邮件(例如Gmail)中,如下图email preview

所示