我有人使用PHP和Codeigniter框架为我建立一个网站。在测试服务器上一切正常,但是现在,一旦网站转移到Justhost,电子邮件功能就无法工作。首先,我认为我没有使用正确的SMTP设置,但它们很好(支持看看)。
基本上,所有者可以将他的财产放在网站上(例如:http://goo.gl/AZcrj),当访问者填写底部的联系表格时,会将电子邮件发送给所有者的电子邮件地址,并且他可以回复访客发送电子邮件。
我第一次使用Justhost SMTP设置并对其进行了测试,发送了电子邮件。但从那时起,直到现在,当我尝试通过联系表单发送邮件时,我总是收到错误。我甚至尝试使用Gmail SMTP设置,同样的事情发生了:\
这是代码,有人有任何线索吗? 顺便说一句,我是一个PHP菜鸟,所以我不太了解,但我尽力解释
public function send_mail($res)
{
$this->load->library('email');
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'sslsmtp.gmail.com'; --- i tried with ssl://smtp.gmail.com, same thing happens
$config['smtp_port'] = '465';
$config['smtp_timeout'] = '7';
$config['smtp_user'] = 'email';
$config['smtp_pass'] = 'password';
$this->email->initialize($config);
$this->email->from($res['sender_email'], $res['sender_name']);
$this->email->to($res['reciever']);
$this->email->reply_to($res['sender_email'], $res['sender_name']);
$this->email->subject('Email from site.');
$this->email->message($res['message']);
if($this->email->send()) {
return true;
} else {
return false;
}
//configure mail agent...
}
答案 0 :(得分:2)
似乎Justhost阻止了共享IP的传出端口。我遇到了同样的问题,并在搜索答案时遇到了这个链接(https://my.justhost.com/cgi/help/405)。
从以上链接:
传出端口被阻止
Just Host通过共享托管限制端口访问 环境。在此环境中,服务器上的每个帐户共享一个 单个IP地址。因此,大多数端口都被阻止,因为没有 单个帐户被分配了该框的IP地址。
要访问这些端口,必须租用专用IP 通过Just Host解决。