我已经使用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地址。
我已经在网上搜索答案,但似乎无法找到任何类似的问题。
编辑:试图让人更清楚。
答案 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;