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

Man*_*the 4 php email ubuntu postfix-mta localhost

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

什么是邮件传输代理换句话说,它是一个邮件服务器而不是像Thunderbird,Evolution,Outlook,Eudora这样的邮件客户端,或者像Yahoo,GMail,Hotmail,Earthlink,Comcast,SBCGlobal.net,ATT这样的基于Web的电子邮件服务. .net等....如果您在一家名为Acme且拥有acme.com的公司工作,您可以为您的员工提供电子邮件地址@ acme.com.员工可以通过您的计算机发送和接收电子邮件,但不能让您的计算机一直运行.如果您的所有电子邮件地址都在域(@ gmail.com,@ yahoo.com),您不拥有(您不拥有Google)或不托管(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/

Vik*_*edi 19

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

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

Gmail使用https://(超文本安全),因此您需要安装ca-certificates

~$ sudo apt-get install msmtp ca-certificates
Run Code Online (Sandbox Code Playgroud)

安装msmtp包需要几秒钟.

现在你必须msmtprc使用gedit编辑器创建配置文件().

~$ sudo gedit /etc/msmtprc
Run Code Online (Sandbox Code Playgroud)

现在你必须在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
Run Code Online (Sandbox Code Playgroud)

不要忘记在上面的代码行中使用" gmail密码 " 替换MY_GMAIL_ID和" gmail id "以及MY_GMAIL_PASSSWORD.

现在创建msmtp.log

~$ sudo touch /var/log/msmtp.log
Run Code Online (Sandbox Code Playgroud)

任何人都必须使这个文件可读

~$ sudo chmod 0644 /etc/msmtprc
Run Code Online (Sandbox Code Playgroud)

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

~$ sudo chmod 0777 /var/log/msmtp.log
Run Code Online (Sandbox Code Playgroud)

您的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
Run Code Online (Sandbox Code Playgroud)

请检查您的Gmail收件箱.


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

打开并编辑php.ini文件

~$ sudo gedit /etc/php/7.0/apache2/php.ini
Run Code Online (Sandbox Code Playgroud)

您必须在文件中设置sendmail_pathphp.ini.

检查您的SMTP路径

~$ which msmtp 
Run Code Online (Sandbox Code Playgroud)

你会得到/usr/bin/msmtp那样的.

搜索sendmail_pathphp.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
Run Code Online (Sandbox Code Playgroud)

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

现在保存并退出gedit.现在是时候重启你的了apache

~$ sudo /etc/init.d/apache2 restart
Run Code Online (Sandbox Code Playgroud)

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

做测试,享受!!

  • 如果您是为自己的域(使用gmail电子邮件)设置的,则必须启用“安全性较差的应用”中的访问权限。安全登录到您的admin.google.com,使用户可以管理不太安全的应用设置。在您要向其发送电子邮件的用户的accounts.google.com中,启用安全性较低的应用。 (4认同)