我在localhost上发送电子邮件,但在服务器上没有相同的设置(digitalocean + serverpilot)。 启用了php的开放ssl支持。
php get“消息:fsockopen():无法连接到 ssl://smtp.yandex.com.tr:465(连接超时)
codeigniter framework get:
遇到以下SMTP错误:110连接超时 无法使用PHP SMTP发送电子邮件。您的服务器可能不是 配置为使用此方法发送邮件。
我的代码是:
$config = Array('protocol' => 'smtp','smtp_host' => 'ssl://smtp.yandex.com.tr','smtp_port' => 465, 'smtp_user' => 'info@mydomain.com','smtp_pass' => 'mypass','mailtype' => 'html', 'charset' => 'utf-8');
$this->load->library('email');
$this->email->initialize($config);
$this->email->set_newline("\r\n");
$this->email->from('info@mydomain.com', 'test.com');
$this->email->to('testing@yandex.com');
$this->email->subject('test');
$this->email->message('test body');
$this->email->send();
echo $this->email->print_debugger();
nslookup smtp.yandex.com:
服务器:2001:4860:4860 :: 8844地址:2001:4860:4860 :: 8844#53
非权威答案:smtp.yandex.com规范名称= smtp.yandex.ru。姓名:smtp.yandex.ru地址:93.158.134.38 名称:smtp.yandex.ru地址:87.250.250.38姓名:smtp.yandex.ru 地址:213.180.204.38姓名:smtp.yandex.ru地址:213.180.193.38 姓名:smtp.yandex.ru地址:77.88.21.38
和telnet请求正常工作。
答案 0 :(得分:0)
您的传出连接可能被防火墙阻止。
使用tcptraceroute
之类的工具找到问题。