PHP + Ubuntu使用gmail格式发送电子邮件localhost

时间:2015-11-28 09:32:44

标签: php email ubuntu localhost postfix-mta

我已经搜索了几个帖子,但没有运气。每个人都在使用postfix。但是当我浏览文本时 https://help.ubuntu.com/community/Postfix

  

什么是邮件传输代理   换句话说,它不是邮件服务器   邮件客户端,如Thunderbird,Evolution,Outlook,Eudora或者   基于网络的电子邮件服务,如Yahoo,GMail,Hotmail,Earthlink,   康卡斯特,SBCGlobal.net,ATT.net等....如果你在一家公司工作   名为Acme并拥有acme.com,您可以为您的员工提供   电子邮件地址@ acme.com。员工可以发送和接收电子邮件   通过您的计算机,但不是没有您的计算机运行所有   时间。 如果您的所有电子邮件地址都在某个域(@ gmail.com,   @ yahoo.com)你不拥有(你不拥有谷歌)或不主办   (acme.com)那么你根本就不需要这个。

正如最后一行所说,你不能把它用于gmail或yahoo,让它从localhost开始工作..!

有谁能告诉我如何使用gmail SMTP在localhost上配置邮件服务器?我正在使用Ubuntu 14.

在我们没有为他们工作之前我已经尝试过的链接。测试下面列出的链接时没有错误或警告

https://askubuntu.com/questions/314664/sending-php-mail-from-localhost https://askubuntu.com/questions/228938/how-can-i-configure-postfix-to-send-all-email-through-my-gmail-account https://easyengine.io/tutorials/linux/ubuntu-postfix-gmail-smtp/ https://easyengine.io/tutorials/mail/postfix-debugging/

2 个答案:

答案 0 :(得分:15)

请执行以下步骤,通过 gmail Ubuntu / Linux 上从 localhost 发送邮件: -

为此,您需要在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

不要忘记将 MY_GMAIL_ID 替换为“ gmail id ”,将 MY_GMAIL_PASSSWORD 替换为“ gmail密码“在上面的代码行中。

现在创建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收件箱。

现在,如果您想从localhost发送带有php的电子邮件,请按照以下说明操作: -

打开并修改 php.ini 文件

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

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

使用

检查SMTP路径
~$ which msmtp 

你会得到/usr/bin/msmtp

sendmail_path 中搜索php.ini并进行如下编辑

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

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

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

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

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

测试并享受!!

答案 1 :(得分:0)

本文将详细说明如何执行您想要的操作:

https://www.howtoforge.com/tutorial/configure-postfix-to-use-gmail-as-a-mail-relay/