邮件未发送到Gmail或Hotmail地址

时间:2010-09-09 15:57:18

标签: php codeigniter email

我已经使用Codeigniter电子邮件库设置了邮件发件人。

在用户指定gmail或Hotmail地址作为其地址之前,一切正常。

例如

$email = $this->input->post('something@gmail.com');

这只是我回复的回复地址。电子邮件本身是从Godaddy电子邮件帐户发送的。

我想知道是否有人与codeigniter电子邮件库或Godaddy托管有类似的问题,只是指定电子邮件返回地址会导致邮件无法传递。

调试器在提交表单时没有显示错误。 如果我在发送电子邮件之前更改用户电子邮件地址的值,例如。 string将gmail替换为xgmail,邮件发送完美无缺。

这是我的配置数组

'protocol' => 'sendmail',
'smtp_host' => 'smtpout.secureserver.net',
'smtp_port' => 25,
'smtp_user' => 'info@website.com',
'smtp_pass' => 'password',
'mailtype' => 'text');

我已经尝试过将gmail和godaddy作为smtp_hosts。

两次
$email = $this->input->post('email');

是邮件永远不会传递的Gmail或Hotmail地址。

我已经在网上搜索答案,但似乎无法找到任何类似的问题。

编辑:试图让人更清楚。

3 个答案:

答案 0 :(得分:0)

它没有被发送或者没有被送到?两件不同的事情。

如果没有发送,gmail / hotmail垃圾邮件过滤器可能会过滤掉您的电子邮件。你检查过垃圾邮件收件箱了吗?

如果没有收到,电子邮件可能不正确?什么是返回SMTP回复代码?是5xx吗?

  

我想评论,而不是“回答”,但显然我还不能。 (对不起)

答案 1 :(得分:0)

好的,您尝试通过Gmail SMTP服务器发送电子邮件,但您已将协议设置错误。将协议设置为smtp,并相应地设置主机名和端口。

答案 2 :(得分:0)

我遇到了同样的问题,经过大量的搜索,我终于找到了解决方案。这些配置设置适用于我:

$config['crlf'] = "\r\n";
$config['newline'] = "\r\n";
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'relay-hosting.secureserver.net';
$config['smtp_port'] = '25';
$config['mailtype'] = 'html';

注意:没有必要提供用户名和密码。确保您发送的电子邮件不包含太多链接。它将被GoDaddy的邮件服务器标记为垃圾邮件。

如果仍然无法使用这些设置,请使用print_debugger查看邮件服务器的确切响应:

$this->email->send();
echo $this->email->print_debugger();
exit;
相关问题