zoukankan      html  css  js  c++  java
  • [PHP] 邮件发送mail()函数失败问题 sendmail命令与postfix

    1. php的mail()函数是可以发送邮件的 , 但是一直就没有测试成功过 , 现在总结一下原因 :

    php的mail函数 基于sendmail命令来发送 , sendmail命令需要安装postfix软件 

    2.查看php的配置项sendmail_path  ,这个就是mail函数调用的底层命令 ,    php  -i|grep sendmail

    3.安装postfix软件 才可以使用sendmail命令 , apt-get install postfix

    当软件安装完成后 , 在命令行测试一下是否能够发送成功

    建立一个eml的文本文件 ,内容是最主要的几个邮件协议头

    Subject: title-testing
    From: shihan2@sopans.com
    To: 630892807@qq.com
    
    Sorry, I'm testing. ~_~ 
    
     /usr/sbin/sendmail -t -i -f shihan2@sopans.com < 2.eml
    

    -f参数后面的是和from值对应的 , 如果对应不上会报错 , 可以查看日志文件/var/log/mail.log , 来看错误原因和是否成功

    如果from值对应不上 , 日志中提示的信息

    发送成功后对应的信息 , 250ok

    4. 修改php的配置文件 , 使用php函数进行发信 

    我修改了这个配置文件 ,  /etc/php/7.0/cli/php.ini  , from参数给写死了, 测试的时候 , 如果不写这个from邮箱 ,发送一直失败 , 提示501 Syntax: MAIL FROM: <address> (in reply to MAIL FROM command))  ,mail from和信体的from对应不上

    查看下配置

    建立一个php文件

    <?php
    
    $to='630892807@qq.com';
    $subject = '测试一下';
    
    $message = '我来测试';
    $headers[] = 'From: shihan2@sopans.com';
    mail($to, $subject, $message, implode("
    ", $headers));
    

    测试成功

      

      

      

  • 相关阅读:
    angular
    客户端存储cookie ---(优缺点及定义及用途)
    cookie的设置和获取
    和谐敏感字
    移动端上滑下滑换图片
    移动端适配方式
    Viewport及判断移动端上下滑动
    HTML5拖放&地理定位
    用canvas 做一个钟表
    用canvas上传图片
  • 原文地址:https://www.cnblogs.com/taoshihan/p/10584442.html
Copyright © 2011-2022 走看看