`
wooce
  • 浏览: 184773 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

在php里从本地通过msmtp发送邮件

阅读更多

参看http://www.absolutelytech.com/2010/07/18/howto-send-emailsusing-mail-function-from-localhost-in-php-through-msmtp-using-gmail-account-on-linux/ 的步骤:

 

 

Step by step instructions:

 

  1. First of all, follow this tutorial:
    Install msmtp on your linux box and configure it to work with Gmail.

     

    Msmtp is highly configurable and you can easily configure it to work with any smtp server. If you wish to use any other service with msmtp, you may read its manual and configure it.
    Proceed to next step only if you have successfully configured and are able to send a test message.

  2. Open php.ini in your text editor.
    sudo gedit /etc/php5/apache2/php.ini

    Search for ‘sendmail_path’ and change it to look like

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

    Save the file and exit the text editor.
    Please note that your msmtp path may vary if you are not using Ubuntu. You may find the path to executable by:

    which msmtp
  3. Restart apache:

     

    sudo /etc/init.d/apache2 restart

    OR

    sudo /opt/lampp/lampp restart
  4. Everything’s done. Lets test if the mail() function is working now:
    if ( mail ( 'yourusername@gmail.com', 'Test mail from localhost', 'Working Fine.' ) );
    echo 'Mail sent';
    else
    echo 'Error. Please check error log.';

    Replace the yourusername@gmail.com with your own username, save it into a php file along with php delimeters in your virtual host root folder and execute it through the browser. You should receive a mail.

    跟上述步骤大同小异。

    msmtp在ubuntu下apt-get install msmtp就可以安装, 安装完后, msmtp --ver 查看:

    ......

     

    System configuration file name: /etc/msmtprc

    User configuration file name: /root/.msmtprc

    显然要保证有/etc/msmtprc文件并要设置好它的配置内容。我的/etc/msmtprc内容如下:
    # Set default values for all following accounts.
    defaults

    logfile /usr/local/msmtp/msmtp.log
    # The SMTP server of the provider.
    account test

    # SMTP邮件服务器地址
    host smtp.ym.163.com

    # 发送的邮件Email
    from yanghf@kopere.com
    auth login

    # 邮件服务器登录账号
    user yanghf@xxx.com
    # 邮件服务器登陆密码
    password 12345678
    # Set a default account
    account default : test

    不过,我打开上面的测试php时,开始时出来Error. Please check error log.
    发送邮件不成功,查看apache的error_log, 找到错误信息:
    msmtp: /etc/msmtprc: must be owned by you

    原来是/etc/msmtprc的权限是777的话也不行,需要限制。 ps aux|grep httpd查看apache的进程的用户名是www,
    然后:
    chown www.www /etc/msmtprc
    chmod 600 /etc/msmtprc # 一定要600而不是777 !
    搞定!
    然后在mantis里配置 $g_phpMailer_method             = PHPMAILER_METHOD_MAIL
    这样比配置 PHPMAILER_METHOD_SMTP 发邮件要快得多,都可立即收到邮件!

     

 

分享到:
评论

相关推荐

    mutt+msmtp

    - **本地存储**:mutt 的邮件存储默认在本地,用户可以控制数据的隐私。 6. **高级功能** - **过滤器和脚本**:通过编写外部脚本或利用 mutt 的过滤器功能,可以实现更复杂的邮件自动化操作。 - **GPG 加密**:...

    centos+mutt+msmtp一键部署邮件发送

    本教程将详细介绍如何在CentOS操作系统上,通过mutt和msmtp工具实现一键部署邮件发送功能。这个过程涉及到Linux系统管理、命令行工具使用以及电子邮件系统的配置。 首先,让我们了解下主要涉及的组件: 1. **...

    linux下自动发邮件配置文档mutt+msmtp(含msmtp-1.4.17.tar.bz2)

    tar xvf msmtp-1.4.17.tar.bz2 cd msmtp-1.4.17 ./configure --prefix=/usr/local/msmtp make make install cd /usr/local/msmtp/ mkdir etc #配置文件目录和配置文件都要自己建 cd etc vim msmtprc #手动创建配置...

    centos配置mutt和msmtp实现邮件发送

    在服务器管理中,通过mutt和msmtp发送邮件可以作为监控和提醒的手段,例如当磁盘空间占用过高时自动发送警告邮件给管理员。 八、mutt参数详解: mutt命令支持多种参数,例如: - `-a<文件>`:附加文件到邮件中。 - ...

    msmtp32位和libgsasl32位包下载

    `msmtp`和`libgsasl`是两个在Linux系统中用于实现邮件发送功能的关键组件,特别适合于CentOS这样的服务器操作系统。本文将详细讲解这两个工具以及它们在`mutt`环境中的应用。 首先,`msmtp`是一个轻量级的SMTP代理...

    msmtp64位和libgsasl64位包下载

    当结合`msmtp`时,用户可以在不依赖图形界面的情况下,从命令行发送邮件到任何支持SMTP的邮件服务器。 `msmtp`的安装和配置相对简单。在CentOS上,可以通过`yum`或`dnf`(根据你的CentOS版本)来安装。安装完成后,...

    msmtp源程序实现了嵌入式消息的发送,并结合mutt壳能量实现了电子邮件的发送和接收.zip

    `msmtp` 源程序可以配置连接到任何支持SMTP的邮件服务器,包括Gmail、Yahoo等,从而实现在本地发送邮件的功能。它的优点在于轻量级、可配置性强,且支持SSL/TLS加密,确保了邮件传输的安全性。 另一方面,`mutt` 是...

    Linux部署msmtp+mutt发送邮件功能

    2. MUA通过SMTP协议将邮件发送到MTA(Mail Transfer Agent,邮件传输代理),例如msmtp在本地扮演这个角色。 3. MTA负责将邮件路由到目标邮件服务器,可能经过多个MTA进行中继。 4. 最终,邮件到达MDA(Mail ...

    使用Mutt+msmtp+crontab监控主机磁盘使用率并定时发送邮件通知.doc

    标题中的“使用Mutt+msmtp+...至此,一个完整的监控系统已设置完毕,当磁盘使用率超过预设值时,系统会自动通过邮件发送警告。这种方案能够帮助运维人员及时了解服务器的健康状况,避免因磁盘空间不足引发的问题。

    MSMTP邮件客户

    MSMTP用于邮件客户端软件,用于监控系统和应用发送短信或者邮件给到运维工作人员

    msmtp+mutt发送TLS邮件

    执行install.sh前需下载依赖 yum -y install ncurses-devel gcc gcc-c++ gnutls gnutls-devel gnutls-utils openssl openssl-devel libidn libidn-devel

    msmtp-1.4.16

    msmtp+mutt可以搞定服务器发邮件

    msmtp邮件扩展

    msmtp mail扩展 mailx sendmail

    msmtp-1.4.32.tar.bz2

    msmtp-1.4.32.tar.bz2,msmtp邮件服务

    msmtp-offline:msmtp包装程序,可将脱机时发送的电子邮件排队

    简单的脚本,用于管理在离线状态下使用msmtp发送的电子邮件。 它是根据msmtp附带的msmtpq脚本集建模的,并添加了一些增强功能: 它解析msmtprc文件,并尝试找出用于网络检查的主机和端口。 这样,当通过VPN连接到...

    linux使用外部邮箱发送邮件

    在Linux系统中,有时我们需要通过命令行工具发送邮件,特别是在服务器监控或自动化脚本执行时,这成为一种必要的通信方式。本教程将介绍如何在Linux上配置三种不同的方法来使用外部邮箱发送邮件:默认的MAIL客户端,...

    自动化测试之邮件服务测试

    mutt允许用户通过vi编辑器来编辑和发送邮件,而msmtp则负责实际的邮件发送工作。 1. 安装mutt: 使用`yum install mutt`命令进行安装。然后编辑mutt的配置文件`/etc/Muttrc`,在文件末尾添加以下内容: ``` set ...

    树莓派 msmtp和mutt 的安装和配置教程

    在树莓派上配置msmtp和mutt可以帮助我们通过命令行发送电子邮件,这对于自动化任务、远程监控或者简单地发送系统通知非常有用。下面将详细介绍如何在树莓派上安装和配置这两个工具。 首先,我们要安装mutt,这是一...

    shell脚本mail465端口发送email邮件.rar

    接下来,`openssl s_client`命令建立一个加密的连接到SMTP服务器,并按照SMTP协议的规范发送命令来设置发件人、收件人,然后提交邮件内容。 请注意,这个脚本中的`-安静`选项可能需要根据实际的shell环境和openssl...

    msmt-0.2.5

    **四、使用msmtp发送邮件** 一旦配置完成,你可以通过以下命令发送邮件: ```bash echo "邮件内容" | msmtp --account=default recipient@example.com ``` 或者,如果邮件内容包含多个段落,可以使用`--read-from...

Global site tag (gtag.js) - Google Analytics