PHP + Ubuntu使用gmail form localhost发送邮件

我已经在这个search了几个职位,但没有运气。 大家都在使用postfix。 但是当我浏览https://help.ubuntu.com/community/Pfixfix上的文字

什么是邮件传输代理换句话说,它是一个邮件服务器,而不是像Thunderbird,Evolution,Outlook,Eudora这样的邮件客户端,或者是像Yahoo,GMail,Hotmail,Earthlink,Comcast,SBCGlobal.net,ATT .net等….如果您曾经为一家名为Acme并拥有acme.com的公司工作,则可以为您的员工提供电子邮件地址@acme.com。 员工可以通过计算机发送和接收电子邮件,但不是没有计算机一直运行。 如果您的所有电子邮件地址都位于某个域名(@ gmail.com,@ yahoo.com),则您不拥有(您不拥有Google),也不拥有(acme.com),那么您根本不需要这样做。

作为最后一行说,你不能让我们的Gmail或雅虎,使之从本地工作..!

任何人都可以告诉我如何configuration邮件服务器在本地主机使用Gmail的SMTP? 我正在使用Ubuntu 14。

我之前尝试的链接无人为我工作。 在testing下面列出的链接时没有错误或警告

https://askubuntu.com/questions/314664/sending-php-mail-from-localhost https://askubuntu.com/questions/228938/how-can-i-configure-postfix-to-send-all-email通过我的Gmail帐户 https://easyengine.io/tutorials/linux/ubuntu-postfix-gmail-smtp/ https://easyengine.io/tutorials/mail/postfix-debugging/

请通过以下步骤在Ubuntu / Linux上通过gmail本地主机发送邮件: –

为此,您需要在Linux / Ubuntu服务器上安装msmtp

Gmail使用https:// (这是超文本安全),所以你需要安装ca-certificates

 ~$ sudo apt-get install msmtp ca-certificates 

安装msmtp软件包需要几秒钟的时间。

现在,您必须使用gedit编辑器来创建配置文件( msmtprc )。

 ~$ sudo gedit /etc/msmtprc 

现在你必须在gedit中复制和粘贴下面的代码( 使用上面的命令创建的文件

 defaults tls on tls_starttls on tls_trust_file /etc/ssl/certs/ca-certificates.crt account default host smtp.gmail.com port 587 auth on user MY_GMAIL_ID@gmail.com password MY_GMAIL_PASSSWORD from MY_GMAIL_ID@gmail.com logfile /var/log/msmtp.log 

不要忘了在上面的代码行中用你的“ gmail密码 ”替换MY_GMAIL_ID和你的“ gmail id ”和MY_GMAIL_PASSSWORD

现在创建msmtp.log

 ~$ sudo touch /var/log/msmtp.log 

你必须让任何人都可以读取这个文件

 ~$ sudo chmod 0644 /etc/msmtprc 

现在启用sendmail日志文件为可写

 ~$ sudo chmod 0777 /var/log/msmtp.log 

您的Gmail的SMTP配置现在已准备就绪。 现在发送一封测试邮件

 ~$ echo -e "Subject: Test Mail\r\n\r\nThis is my first test email." |msmtp --debug --from=default -t MY_GMAIL_ID@gmail.com 

请检查您的Gmail收件箱。


现在,如果你想从本地主机发送电子邮件与PHP,请按照下面的说明: –

打开并编辑php.ini文件

 ~$ sudo gedit /etc/php/7.0/apache2/php.ini 

你必须在你的php.ini文件中设置sendmail_path

检查您的SMTP路径

 ~$ which msmtp 

你会得到/usr/bin/msmtp

php.ini搜索sendmail_path并编辑如下

 ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ; http://php.net/sendmail-path sendmail_path = /usr/bin/msmtp -t 

请仔细检查第三行,在sendmail_path之前没有分号。

现在保存并退出gedit。 现在是时候重新启动你的apache

 ~$ sudo /etc/init.d/apache2 restart 

现在从http://in2.php.net/manual/en/function.mail.php创建一个带有邮件功能的php文件。

做测试和享受!