【问题标题】:PHP+Ubuntu Send email using gmail form localhostPHP+Ubuntu 使用 gmail 形式发送电子邮件 localhost
【发布时间】:2016-03-02 09:18:21
【问题描述】:

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

什么是邮件传输代理 换句话说,它是一个邮件服务器而不是一个 邮件客户端,例如 Thunderbird、Evolution、Outlook、Eudora 或 基于 Web 的电子邮件服务,例如 Yahoo、GMail、Hotmail、Earthlink、 Comcast、SBCGlobal.net、ATT.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/

【问题讨论】:

    标签: php email ubuntu localhost postfix-mta


    【解决方案1】:

    这篇文章准确地解释了如何做你想做的事:

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

    【讨论】:

      【解决方案2】:

      请按照以下步骤通过 gmaillocalhostUbuntu/Linux 上发送邮件:-

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

      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 文件。

      做测试和享受!

      【讨论】:

      • 如果您为自己的域进行设置,即使用 gmail 发送电子邮件,则必须启用“不太安全的应用程序”的访问权限。登录到您的 admin.google.com,在安全性中允许用户管理他们不太安全的应用设置。在您要发送电子邮件的用户的 accounts.google.com 中,启用安全性较低的应用。
      猜你喜欢
      • 1970-01-01
      • 2014-10-30
      • 2017-05-25
      • 2015-10-22
      • 2017-06-19
      • 2018-12-12
      • 1970-01-01
      • 2014-08-27
      • 2018-08-20
      相关资源
      最近更新 更多