sta*_*bie 4 php email codeigniter
当我尝试使用PHPMailer发送电子邮件时出现以下错误
2016-05-31 10:44:55客户端 - >服务器:EHLO localhost 2016-05-31 10:44:56客户端 - >服务器:邮件来自:2016-05-31 10:44:56 SMTP错误:邮件来自命令失败:530-5.5.1需要验证.了解更多信息,请访问530 5.5.1 https://support.google.com/mail/answer/14257 v27sm39349082pfi.49 - gsmtp 2016-05-31 10:44:56以下发件人地址失败:my.news.app@gmail .com:MAIL FROM命令失败,需要验证.有关详情, 请访问https://support.google.com/mail/answer/14257 v27sm39349082pfi.49 - gsmtp,530,5.5.1SMTP服务器错误:MAIL FROM命令失败详细信息:需要验证.有关详情, 请访问https://support.google.com/mail/answer/14257 v27sm39349082pfi.49 - gsmtp SMTP代码:530其他SMTP信息:5.5.1以下发件人地址失败:my.news.app@gmail.com: MAIL FROM命令失败,需要验证.有关详情, 请访问https://support.google.com/mail/answer/14257 v27sm39349082pfi.49 - gsmtp,530,5.5.1SMTP服务器错误:MAIL FROM命令失败详细信息:需要验证.有关详情, 请访问https://support.google.com/mail/answer/14257 v27sm39349082pfi.49 - gsmtp SMTP代码:530其他SMTP信息:5.5.1 2016-05-31 10:44:56客户端 - >服务器:退出
首先,您需要确保sendmail
在灯泡服务器上安装程序,以便从CI3电子邮件类发送邮件.在您的本地主机上,您很可能不会安装此主机,但在大多数Web主机服务器上,它将是.所以我的第一个建议是尝试从远程Web服务器运行它,看看是否发送了邮件.确保email
在从控制器发送邮件之前加载库.像这样的东西:
//run this from your controller
$this->load->library('email');
$this->email->from('your@example.com', 'Your Name');
$this->email->to('someone@example.com');
$this->email->cc('another@another-example.com');
$this->email->bcc('them@their-example.com');
$this->email->subject('Email Test');
$this->email->message('Testing the email class.');
$this->email->send();
Run Code Online (Sandbox Code Playgroud)
如果您想要更多地控制它,CI3还为您提供配置选项.您可以sendmail
在发送邮件之前按如下方式配置路径和其他变量.以下是您可以设置的完整首选项列表:
$config['protocol'] = 'sendmail';
$config['mailpath'] = '/usr/sbin/sendmail';
$config['charset'] = 'iso-8859-1';
$config['wordwrap'] = TRUE;
$this->email->initialize($config);
Run Code Online (Sandbox Code Playgroud)
但是,如果你仍然坚持使用PHPMailer
,那么你可以像elddenmedio建议的那样做.但是,在这种情况下,最好将PHPMailer放在library
or或third_party
文件夹中,然后从构造函数中加载,而不是偶尔使用require
.
编辑:
如果有人通过谷歌搜索找到这个,这里是完整的代码,用于发送smtp
我在最近的CI3项目中使用过的邮件.这是用于在不使用PHPMailer库的情况下发送邮件:
public function send_email($to, $subject, $message) {
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'mail.gmx.com',
'smtp_port' => 587, //465,
'smtp_user' => 'myself@gmx.com',
'smtp_pass' => 'PASSWORD',
'smtp_crypto' => 'tls',
'smtp_timeout' => '20',
'mailtype' => 'html',
'charset' => 'iso-8859-1'
);
$config['newline'] = "\r\n";
$config['crlf'] = "\r\n";
$this->CI->load->library('email', $config);
$this->CI->email->from('myself@gmx.com', 'Admin');
$this->CI->email->to($to);
$this->CI->email->subject($subject);
$this->CI->email->message($message);
//$this->email->send();
if ( ! $this->CI->email->send()) {
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
只需用您自己的凭据替换myself@gmx.com
和PASSWORD
.
归档时间: |
|
查看次数: |
13572 次 |
最近记录: |