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

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

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

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

  1. $config = array(
  2. '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

  1. account sendgrid
  2. host smtp.sendgrid.net
  3. port 587
  4. auth on
  5. tls on
  6. tls_starttls on
  7. tls_trust_file /etc/ssl/certs/ca-certificates.crt
  8. user SendGridUsername
  9. password SendGridPassword

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

  1. class Tools extends CI_Controller {
  2.  
  3. public function message()
  4. {
  5. $this->load->library('email');
  6.  
  7. $this->email->from('some-dude@gmail.com','Nate');
  8. $this->email->to('another-dude@gmail.com');
  9.  
  10. $this->email->subject('Send email through Code Igniter and msmtp');
  11. $this->email->message('Testing the email class.');
  12.  
  13. $this->email->send();
  14. }
  15. }

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

  1. $config = [
  2. '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相关文章