zoukankan      html  css  js  c++  java
  • php中mail()改用msmtp发送邮件

    php中的mail()函数默认调用的是sendmail,这次我将其换成了轻量级的msmtp。在次过程中涉及到:修改配置文件php.ini,创建配置文件msmtprc或(.msmtprc)并修改其权限。

    创建msmtp的配置文件/etc/msmtprc或~/.msmtprc:

    1 account default
    2 host smtp.qq.com
    3 auth login
    4 from youremail@qq.com
    5 user youremail@qq.com
    6 password yourpassword
    7 logfile /usr/local/msmtp/msmtp.log

    /etc/php5/apache2/php.ini中设置:

    sendmail_path = '/usr/bin/msmtp -t -i'

    另外一个php.ini文件在/etc/php2/cli中,这是command line中的php配置文件。如果希望在命令行中运行例如"php testmailing.php"类似操作,可以对其做同样修改。至此,命令行中的mail()函数调用成功。

    之后将msmtprc的权限提至644:

    sudo chmod 644 /etc/msmtprc

    至此,browser中的mail()函数调用成功。

    原本只是想试一下php的mail()函数,想不到配置了两天,原因又是权限不够。目前还是对linux不够熟悉,文件的权限真是个大问题。这次虽然解决了问题,不过msmtprc的权限为644,其中还包含了明文密码。安全起见,可以把配置文件存入数据库在进行加密处理,当然这又是后话了。

  • 相关阅读:
    创建对象的七种方式
    设计模式之工厂模式
    设计模式之单例模式
    排序算法之插入排序
    排序算法之选择排序
    类及对象初体验
    排序算法之冒泡排序
    迭代器和生成器
    装饰器
    函数进阶
  • 原文地址:https://www.cnblogs.com/devai/p/4299123.html
Copyright © 2011-2022 走看看