Codeigniter在本地主机中发送邮件,但不在服务器中 我在尝试什么

Codeigniter在本地主机中发送邮件,但不在服务器中 我在尝试什么,codeigniter,email,Codeigniter,Email,我正在构建一个codeigniter应用程序,需要发送邮件。当我尝试从本地主机发送邮件时,我的邮件配置工作得非常好。但当把它放在服务器上时,它就不工作了 邮件配置 从服务器发送时,我收到以下错误 A PHP Error was encountered Severity: Warning Message: fsockopen(): unable to connect to send.one.com:25 (Connection timed out) Filename: librari

我正在构建一个codeigniter应用程序,需要发送邮件。当我尝试从本地主机发送邮件时,我的邮件配置工作得非常好。但当把它放在服务器上时,它就不工作了

邮件配置 从服务器发送时,我收到以下错误

 A PHP Error was encountered

 Severity: Warning

 Message: fsockopen(): unable to connect to send.one.com:25 (Connection timed out)

 Filename: libraries/Email.php

 Line Number: 1689

应用程序托管在one.com上

我也遇到了同样的问题。在尝试了几次并没有找到解决方案后,我将协议更改为邮件。如果更改电子邮件协议,您可能会收到以下错误:

A PHP Error was encountered
Severity: Warning
Message: mail(): Policy restriction in effect. The fifth parameter is disabled on this system
Filename: libraries/Email.php
Line Number: 1537
只需在函数_send_with_mail()中的/system/libraries/email.php处更改代码

因为:“//但是,大多数使用“-f”标志的sendmail文档后面都缺少空格 //我们遇到的服务器似乎需要将其安装到位。”


希望有人能提供一个使用smtp发送邮件的解决方案。

我也在寻找解决方案,大多数情况下,本地主机上的一切都很好,但服务器上的一切都很糟糕。但经过多次尝试后,我对不同的服务器(如Godaddy、Plesk、Hostinger等)了解了一件事。。。 这是一场protocole和端口号的游戏-

var $protocol  = "smtp";
var $protocol  = "tls";
var $protocol  = "imps";
var $protocol  = "mail";
var $protocol  = "sendmail";
同样适用于港口-

var $smtp_port = "25"; //It works most of time on localhost
var $smtp_port = "465"; //For gmail
var $smtp_port = "587"; // Sometime work for gmail and for others
var $smtp_port = "995"; // On few cases
还有一些smtp用户的情况

var $smtp_user  = "ssl://smtp.gmail.com";
var $smtp_user  = "ssl://smtp.googlemail.com";
var $smtp_user  = "tls://smtp.yourmail.com";
var $smtp_user  = "imps://smtp.yourmail.com";
var $smtp_user  = "smtp.gmail.com";
var $smtp_user  = "smtp.googlemail.com";
但大多数服务器不允许ssl://或他们直接想要的电子邮件地址的所有其他前缀。 是的,这很让人困惑,但在服务器上配置电子邮件是真的。这对于第一次使用服务器的用户来说是一个里程碑,但在这之后,您知道服务器上的情况,并且您将很容易找到解决方案。 但是祝你好运

var $protocol  = "smtp";
var $protocol  = "tls";
var $protocol  = "imps";
var $protocol  = "mail";
var $protocol  = "sendmail";
var $smtp_port = "25"; //It works most of time on localhost
var $smtp_port = "465"; //For gmail
var $smtp_port = "587"; // Sometime work for gmail and for others
var $smtp_port = "995"; // On few cases
var $smtp_user  = "ssl://smtp.gmail.com";
var $smtp_user  = "ssl://smtp.googlemail.com";
var $smtp_user  = "tls://smtp.yourmail.com";
var $smtp_user  = "imps://smtp.yourmail.com";
var $smtp_user  = "smtp.gmail.com";
var $smtp_user  = "smtp.googlemail.com";