使用 Codeigniter 在电子邮件中添加 'From' Header
Add 'From' Header on email using Codeigniter
我在 CPanel 中使用 Codeigniter,我的代码已经发送了一封邮件,但是当邮件到达收件人时,主机名显示在发件人上。
我尝试了一些问题的答案:Change the sender name php mail instead of sitename@hostname.com 但在 Codeigniter 中,它们不起作用。
这是我的代码:
$config = Array(
'protocol' => 'ssmtp',
'smtp_host' => 'ssl://ssmtp.googlemail.com',
'smtp_port' => 465,
'smtp_user' => 'mail@domainiwant.com',
'smtp_pass' => 'password',
'mailtype' => 'html',
'charset' => 'iso-8859-1',
'useragent' => 'MY NAME',
);
$this->load->library('email', $config);
$this->email->set_newline("\r\n");
$this->email->from('mail@domainiwant.com', 'MY NAME');
$email_to = 'receiver@gmail.com';
$this->email->to($email_to);
$this->email->message('Message testing ...');
$this->email->send();
然而,正如我所说,当邮件到达收件人时,它们会显示主机名和一个完全不同的邮件地址,就像我放在 $config
上的一样
我知道这只会设置 the envelope sender
但我想将邮件地址设置为 mail@domainiwant.com
而不是使用 somemail@host.com.ex
接收邮件
根据可用的 CodeIgniter 电子邮件库的文档HERE,您的整个问题只是一个简单的错字。
$config['protocol']
允许 mail
、sendmail
和 smtp
作为值。如果您不设置变量,或使用不允许的值,则整个库默认为 mail
,它会尝试使用您自己的服务器作为邮件网关(这解释了为什么您的发件人地址显示为 username@servername
)
将协议从 ssmtp
更改为 smtp
,以便您实际使用您打算使用的 Google SMTP 服务器,并且您将获得您期望的结果
我在 CPanel 中使用 Codeigniter,我的代码已经发送了一封邮件,但是当邮件到达收件人时,主机名显示在发件人上。 我尝试了一些问题的答案:Change the sender name php mail instead of sitename@hostname.com 但在 Codeigniter 中,它们不起作用。
这是我的代码:
$config = Array(
'protocol' => 'ssmtp',
'smtp_host' => 'ssl://ssmtp.googlemail.com',
'smtp_port' => 465,
'smtp_user' => 'mail@domainiwant.com',
'smtp_pass' => 'password',
'mailtype' => 'html',
'charset' => 'iso-8859-1',
'useragent' => 'MY NAME',
);
$this->load->library('email', $config);
$this->email->set_newline("\r\n");
$this->email->from('mail@domainiwant.com', 'MY NAME');
$email_to = 'receiver@gmail.com';
$this->email->to($email_to);
$this->email->message('Message testing ...');
$this->email->send();
然而,正如我所说,当邮件到达收件人时,它们会显示主机名和一个完全不同的邮件地址,就像我放在 $config
我知道这只会设置 the envelope sender
但我想将邮件地址设置为 mail@domainiwant.com
而不是使用 somemail@host.com.ex
根据可用的 CodeIgniter 电子邮件库的文档HERE,您的整个问题只是一个简单的错字。
$config['protocol']
允许 mail
、sendmail
和 smtp
作为值。如果您不设置变量,或使用不允许的值,则整个库默认为 mail
,它会尝试使用您自己的服务器作为邮件网关(这解释了为什么您的发件人地址显示为 username@servername
)
将协议从 ssmtp
更改为 smtp
,以便您实际使用您打算使用的 Google SMTP 服务器,并且您将获得您期望的结果