用winwebmail配置php自带的mail功能

用winwebmail配置php自带的mail功能

mail()是PHP自带的一个使用SMTP服务发送邮件的函数,下面是这个函数的原型

	
  • mail(hidehai@qq.com"没有主题"$message"From: someone@wahaha.org.tw\nReply-To: reply@wahaha.org.tw\nX-Mailer: PHP/" . phpversion()); 
  • 设置好后测试会报错:
    SMTP server response: 554 failed MAIL FROM verification with the FROM field in message header.

    自己测试的版本是PHP5.x  ,需要这样才能发送成功,应该是SMTP服务器的问题,
     

    	
  • mail(hidehai@qq.com"没有主题"$messagephpversion()); 
  •  

    之前在网上找了下,php和winwebmail搭配的很少,而且用php,就不能使用企业邮局。

    我的winwebmai版本是3.7.6.X ,配置情况都还是差不多,添加相应的用户,

    在收发规则选项卡里在进行简单的设置:(效果图)

    93c4a9d3f146ad1a3af3cfc0

    在SMTP验证IP例外里填上自己的IP。

    这样PHP就能正常的连接到SMTP服务器,又不会干扰到其他webmail的用户。

    php.ini的设置:

     

    [mail function]
    ; For Win32 only.
    SMTP = 222.***.**.***
    smtp_port = 25
    
    ; For Win32 only.
    sendmail_from = sir@xx.com
    ;display_errors =Off
     
    
    ;测试的时候最好改为On,回显错误

     

    测试代码:

    	
  • <?php  
  • $to = 'hidehai@qq.com';  
  • $subject = 'subject';  
  • $message = 'hello';  
  • $headers = phpversion();  
  •  
  • if(mail($to$subject$message,$headers)){  
  •    echo "Ok.";   
  • }else{  
  •   echo "Fail.";   
  • }  
  •  
  • ?> 
  •  SMTP server response: 554 failed MAIL FROM verification with the FROM field in message header.

    winwebmail这个错误需要关闭收发规则中:

    启用SMTP发信认证功能 -> 启用接受认证功能 ->不勾选 启用邮件仿伪造功能

    留下回复