【发布时间】:2017-12-04 05:14:44
【问题描述】:
我正在使用 codeigniter 电子邮件库发送邮件。以下是我的email.php库文件配置
public $useragent = 'CodeIgniter';
public $mailpath = '/usr/sbin/sendmail'; // Sendmail path
public $protocol = 'smtp'; // mail/sendmail/smtp
public $smtp_host = 'smtp.mailhostbox.com';
public $smtp_user = 'myemailid';
public $smtp_pass = 'mypassword';
public $smtp_port = 25;
public $smtp_timeout = 5;
public $smtp_keepalive = FALSE;
public $smtp_crypto = '';
public $wordwrap = TRUE;
public $wrapchars = 76;
public $mailtype = 'html';
public $charset = 'iso-8859-1';
这是我在控制器中的发送电子邮件功能:
$message = '<div>test</div>';
$this->email->message($message);
$this->email->to(ADMIN_EMAIL);
$this->email->from($email, $userName); // if $email = 'myemailid', then its working
$this->email->subject('SenderID Request');
if($path != '')
$this->email->attach(USER_PROFILE_PATH.$path);
if($this->email->send()){
$result = $this->User_model->senderIDStatus($senderIDID, 3);
if($result == 1) {
$this->session->set_flashdata('Status','success');
$this->session->set_flashdata('Message','SenderID submitted for approval, we will notify you soon');
}
else {
$this->session->set_flashdata('Status','failure');
$this->session->set_flashdata('Message', 'An error occured, please try again');
}
}
else {
print_r($this->email->print_debugger());
}
如果 $this->email->from() 是 myemailid,我可以发送电子邮件,这是在电子邮件库中设置的。如果我尝试从另一个电子邮件 ID 发送电子邮件,则会显示如下错误
The following SMTP error was encountered: 553 5.7.1 : Sender address rejected: not owned by user myemailid
【问题讨论】:
-
这里我认为您不需要 Sendmail。尝试删除它。也就像@jignedsh 所说的,您正在尝试使用与 SMTP 用户名不同的用户名发送邮件。
标签: php codeigniter email