我正在尝试的
我正在构建一个codeigniter应用程序,需要发送邮件。当我尝试从本地主机发送邮件时,我的邮件配置工作正常。但当在服务器上托管时,它不工作。
邮件配置
var $useragent = "CodeIgniter";
var $mailpath = "/usr/sbin/sendmail"; // Sendmail path
var $protocol = "smtp"; // mail/sendmail/smtp
var $smtp_host = "send.one.com"; // SMTP Server. Example: mail.earthlink.net
var $smtp_user = "no-reply@domain.com"; // SMTP Username
var $smtp_pass = "pass"; // SMTP Password
var $smtp_port = "25"; // SMTP Port
var $smtp_timeout = 60; // SMTP Timeout in seconds
var $smtp_crypto = ""; // SMTP Encryption. Can be null, tls or ssl.
var $wordwrap = TRUE; // TRUE/FALSE Turns word-wrap on/off
var $wrapchars = "76"; // Number of characters to wrap at.
var $mailtype = "html"; // text/html Defines email formatting
var $charset = "utf-8"; // Default char set: iso-8859-1 or us-ascii
var $multipart = "mixed"; // "mixed" (in the body) or "related" (separate)
var $alt_message = ''; // Alternative message for HTML emails
var $validate = FALSE; // TRUE/FALSE. Enables email validation
var $priority = "1"; // Default priority (1 - 5)
var $newline = "\r\n"; // Default newline. "\r\n" or "\n" (Use "\r\n" to comply with RFC 822)
var $crlf = "\r\n";
从服务器发送时出现以下错误
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
该应用程序托管在www.example.com上one.com
2条答案
按热度按时间wgxvkvu91#
我遇到了同样的问题。在尝试了几次都没有找到解决方案后,我将我的协议更改为mail。如果您正在更改电子邮件协议,您可能会收到以下错误:
只需在/system/libraries/email. php中修改函数send_with_mail()中的代码即可
自
至
因为:“//大多数使用“-f”标志的sendmail文档在它后面缺少空格,但是//我们遇到了似乎需要它的服务器。”
carvr3hs2#
我也在寻找解决方案,大多数时候每件事都很好,但在服务器上只是地狱每件事.但经过多次尝试一件事,我明白,作为每不同的服务器,如- Godaddy,Plesk,Hostinger等..这是一个游戏的协议和端口号一样-
端口相同-
还有一些smtp用户的情况
但大多数服务器不允许ssl://或所有其他前缀,他们直接想要的电子邮件地址。是的,这是混淆,但它是真实的配置服务器上的电子邮件,这就像第一次在服务器上的用户的里程碑,但之后你知道如何在服务器上的事情,你会很容易找到你的解决方案或没有。但祝你好运。