用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3273|回复: 3
收起左侧

[版本 2.x] 请问,发送邮件报错怎么回事?

[复制链接]
发表于 2013-5-28 18:39:23 | 显示全部楼层 |阅读模式

请问,发送邮件报错怎么回事?
Unable to open a socket to Sendmail. Please check settings.
Unable to send email using PHP Sendmail.  Your server might not be configured to send mail using this method.
请问这个应该怎样调呢?  是不是php环境不行改后也不行,SMTP = localhostsmtp_port = 25
sendmail_from=ss@qq.com.
 楼主| 发表于 2013-5-28 18:49:14 | 显示全部楼层
这个是服务器不支持邮件,配置不成功。哪位大神有第三方类库?
发表于 2013-5-28 21:45:04 | 显示全部楼层
用网易 或者QQ 不就好了?
 楼主| 发表于 2013-5-29 10:47:23 | 显示全部楼层
谢谢,,已经弄好了。修改了下php.ini配置文件php mail()函数需要配置才可以发邮件的哦,下面配置方法
如果你没有使用windows,那么sendmail_path指令就是你唯一要担心的东西.如果你正在使用Windows,你就需要看看最后两个指令.
如果你使用的是Linux或是一个Unix变种,sendmail_path看起来应该象这样:
sendmail_path = /usr/sbin/sendmail
或者如果你使用Qmail:
sendmail_path = /var/qmail/bin/sendmail
在PHP mail()函数中的这条指令里,你还可以设置配置参数来指明队列缓冲选项或是显示的设置Return-Path头,如下所示:
sendmail_path = /usr/sbin/sendmail -t -fyou@yourdomain.com
作为一个非Windows用户,这就是你要做的一切了.如果你使用的是Windows,你有更多的事情要做.你还需要看一看SMTP和sendmail_from的值.不要被sendmail_from指令名字中的sendmail弄迷糊了.虽然你没有在Windows上使用名叫Sendmail的程序,但那只是指令的名字.不要被它吓到了.
在你的phpinfo()显示的结果里,看看SMTP和sendmail_from的缺省值--它们要么是空白,要么包含了胡乱的值.你应该把它们改成有意义的值.
如果你决心在这台电脑上运行一个SMTP服务程序,你在php.ini文件中的条目就应该如下:
SMTP = localhost
但是,如果你要使用你ISP(在这个例子中是EarthLink)的外发邮件服务器,那么php.ini中的邮件看起来应该如下:
SMTP = mail.earthlink.net
你也可以使用IP地址而不是域名,因为计算机不区分这两种条目.
第二条配置指令是sendmail_from,它应该被设置成From头中的电子邮件地址.它可以在脚本里被修改但是通常作为缺省值使用.下面就是这个配置指令的示例youraddress@yourdomain.com指的是你自己的邮件地址.

本版积分规则