得到553 5.1.8 ..发件人域不存在错误


Getting 553 5.1.8 ... Domain of sender does not exist error

我目前正在使用PHP和CodeIgniter框架做一个网站。在用户提交表单之后,我希望自动向管理员和刚刚注册的用户发送一封电子邮件。为了做到这一点,我使用以下代码:

$this->email->initialize(array('mailtype' => 'html', 'charset' => 'utf-8'));
$this->email->to($row[0]['EMAIL']);
$this->email->from('noreply@portail-du-climat.ec.gc.ca', 'Portail du climat');
$this->email->subject('blabla');
$this->email->message('blabla');
$result = $this->email->send();
echo $this->email->print_debugger();
$interestedAdmins = $this->User->getInterestedAdmins($row[0],$this->adminContactList);
$this->email->initialize(array('mailtype' => 'html', 'charset' => 'utf-8'));
$this->email->to($interestedAdmins);
$this->email->from('alerteAutomatique@portail-du-climat.ec.gc.ca');
$this->email->subject('blabla');
$message  = "blabla";
$this->email->message($message);
$result = $this->email->send();
echo $this->email->print_debugger();

不幸的是,通过这样做,我在两个电子邮件发送尝试中得到以下PHP错误:

A PHP Error was encountered
Severity: Warning
Message: mail(): SMTP server response: 553 5.1.8 ... Domain of sender address noreply@portail-du-climat.ec.gc.ca does not exist
Filename: libraries/Email.php
Line Number: 1553

作为参考,这里是Email.php(这是一个来自CodeIgnitor的文件)中的行号1553:

if ( ! mail($this->_recipients, $this->_subject, $this->_finalbody, $this->_header_str, "-f ".$this->clean_email($this->_headers['From'])))

我能做什么来解决这个问题?

正是它在错误中所说的-您的from地址的域不存在(它既没有A记录也没有MX记录),因此它被拒绝了。

为该子域添加MX和/或A记录,然后就可以设置了。