php – 使用MSMTP和CodeIgniter电子邮件库

前端之家收集整理的这篇文章主要介绍了php – 使用MSMTP和CodeIgniter电子邮件库前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用msmtp时,有没有人成功使用标准的CodeIgniter电子邮件库发送电子邮件

我正在运行Ubuntu,我已经成功安装和配置了MSMTP.我已经能够从命令行发送电子邮件,并使用默认的PHP mail()函数.

我的应用程序/ config / email.PHP文件看起来像这样

$config = array(
    'protocol' => 'sendmail','mailpath' => '/usr/bin/msmtp -C /etc/msmtp/.msmtprc -t','smtp_host' => 'smtp.gmail.com','smtp_user' => 'myemail@gmail.com','smtp_pass' => 'xxxxxxxx','smtp_port' => 587,'smtp_timeout' => 30,'smtp_crypto' => 'tls',);

但这不行.如果任何人成功,知道你是如何做到的.理想情况下,我想使用CodeIgniter的电子邮件库,因为它有很多很好的功能,我不想自己写.

我能够通过CodeIgniter和msmtp发送电子邮件,而不会有太多麻烦.在我的情况下,我使用Sendgrid,因为我遇到使用msmtp与Gmail和Yahoo的身份验证问题.这是我的设置(在Ubuntu 14.04上运行,PHP 5.5.9,Code Igniter latest):

msmtp config – /home/quickshiftin/.msmtprc

account sendgrid
host smtp.sendgrid.net
port 587
auth on
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
user SendGridUsername
password SendGridPassword

代码点火控制器 – 应用程序/控制器/ Tools.PHP

class Tools extends CI_Controller {

    public function message()
    {
        $this->load->library('email');

        $this->email->from('some-dude@gmail.com','Nate');
        $this->email->to('another-dude@gmail.com');

        $this->email->subject('Send email through Code Igniter and msmtp');
        $this->email->message('Testing the email class.');

        $this->email->send();
    }
}

电子邮件库配置 – application / config / email.PHP

$config = [
    'protocol' => 'sendmail','mailpath' => '/usr/bin/msmtp -C /home/quickshiftin/.msmtprc --logfile /var/log/msmtp.log -a sendgrid -t',];

通过CLI发送电子邮件

PHP index.PHP工具消息

对你的问题的想法

>您的网络服务器或命令行用户可以读取/etc/msmtp/.msmtprc吗?用户可以执行/usr/bin/msmtp吗?
> popen可能在您的PHP环境中被禁用
>使用a debugger跟踪通过CI_Email :: _ send_with_sendmail方法调用,以确定为什么它在你的情况下失败>如果您配置msmtp的日志文件,因为我可以在尝试通过代码点火器发送以捕获潜在问题

猜你在找的PHP相关文章