1. 云栖社区>
  2. PHP教程>
  3. 正文

PHP一:了你的mail(),PHP?

作者:用户 来源:互联网 时间:2017-12-01 10:26:10

PHP一:了你的mail(),PHP? - 摘要: 本文讲的是PHP一:了你的mail(),PHP?,  PHP件送的函候,出一很奇怪的,那就是:   Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and

 PHP件送的函候,出一很奇怪的,那就是:
   Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in .......
   of course,色不是上示的,只是了明,不你可以置示的色,嘛,要留你考究了。
 
 通internet搜索了相的回答,包括相的技博客,大家都是很的述了解方案.大多是只是提到修改:php.ini 中的[mail function] 函,smtp的相功能行打即可,以下是的修改:
 [mail function]
 SMTP = localhost
 smtp_port = 25
 sendmail_from = [email protected]
 ;有必要下,件是From方面.
 sendmail_path = ""
 ;起初是空的,在後面做明.
 mail_add_x_header = on
 ;是默on的 需更改
 
 到一步,修改完,重apache,然操作,我在CMD下操作的,操作,了一小笑.How stupid i am !
 
 重完,刷新面,仍然存在.
 
 陷入的地步,stackoverflow 中提到了IIS(windows 默的服器),在控制面板-管理工具下竟然找不到一,由於是win7的故,在添加和除程序下,把它即可,注意操作,後可以在管理工具下找到,打,此看到smtp的都很激.打,配置了相的,如截所示:
 
 更正:此忘了片,特此道歉! 7-5正.
 
 PHP一:了你的mail(),PHP?

 
句,一步做的比,那上面是ASP.net的,管你PHP毛事.[反正就是有成功].
 
痛定思痛,基百科查了smtp的解,接Click Here:件
回修改,[mail function],如下:
  ;以126箱的置例子
 SMTP = smtp.126.com
 smtp_port = 25
 sendmail_from = [email protected]
 sendmail_path = ""
 mail_add_x_header = on
 
 同修改了程序中$from量的值,了保持一致.
 
 [因之前做了,程序中添加 phpinfo()函,行後,在面搜索 mail,你有一 Localhost Value 和 master Value ,然很好理解,Localhost Value指的是你程序中置的值,master Value是php.ini的置]
 行後,神奇的消失了,不出了如下的:
  mail(): SMTP server response: 553 You are not authorized to send mail, authentication is required  aaf353e4-8ac5-416e-9cd5-6b54fc592764
 
 之後改了其他的箱,如QQ,Gamil等,都如上面提示,看了一熟悉的authorized ,就明白啥意思了.
 
 到一步貌似成功不了,想起以前使用客端配置箱用的候,最後一步都你是不是需要"服器身份".最後一不小心搜到了一叫做sendmail的文件包,下地址如下:sendmail
 之後,最好在PHP的根目下新建一文件,取名叫做:sendmail,之後托包去,再解出,修改一叫做sendmail.ini的文件,修改的地方如下:
 
 ;take the fomus email provider  in China 126 for example
[sendmail]
 smtp_server= smtp.126.com  
 smtp_port=25
 default_domin =126.com
 auth_username= strings in your email address before char '@'    
 auth_password= your password which allow you to login in your email-box
 hostname= 126.com
 
之後,你就要修改 php.ini,是老地方:
  SMTP = smtp.126.com
 ;修改localhost 也是一,其他保持不.
 smtp_port = 25
 sendmail_from = [email protected]
 sendmail_path = "your sendmail path/sendemail.exe -t "
 ;然路的前半部分必包括你的PHP安的根目,"/"成"/",我想是必要做的.
 mail_add_x_header = on

 到配置完成,重你的apache,刷新面,的消失,因程序中置的$to是自己的126和QQ箱,然循的.
 
 看到桌面右下角QQ上出三件提示的候,I know  that I resolve it .打件的容,和我在面入的容完全一致,而且有些容是本地的中出的。 
PHP一:了你的mail(),PHP?
作者:田浩宇

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索的 ,以便于您获取更多的相关知识。