【问题标题】:How to send email from gmail account to other account using LAMPP, PHP and Sendmail/Postfix?如何使用 LAMPP、PHP 和 Sendmail/Postfix 从 gmail 帐户向其他帐户发送电子邮件?
【发布时间】:2018-09-03 20:13:09
【问题描述】:

在 Windows 上尝试时,它非常简单。我在 PHP 文件的正文中有这段代码:

$to = "synewaveltd@gmail.com";
$headers = 'From: synewavecomplaints@gmail.com' . "\r\n" .
    'Reply-To: ' . $_POST['email'] . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
$fullText = "Complaint from : " . $_POST['email'] . "\r\n" . "Name : " .
    $_POST['fullName'] . "\r\n" . $_POST['mainText'] . "\r\n";
mail($to, $_POST['subject'], $fullText, $headers);

我有这个sendmail.ini 文件:

[sendmail]

smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=synewavecomplaints@gmail.com
auth_password=XXXXXXXXXX
force_sender=synewavecomplaints@gmail.com

基本上,我想做的是从名为synewavecomplaints@gmail.com 的帐户向另一个名为synewaveltd@gmail.com 的帐户发送一封电子邮件,其中第一封电子邮件有密码。在 Windows 上,这有效。

现在在 Linux 上,LAMPP 没有 sendmail.ini 文件。我一直在到处寻找可以解决此问题的方法,例如this,但是无论我尝试什么,都行不通。我什至尝试使用 here 中的步骤使用 Postfix,但它也不起作用。

我意识到这些指南可能是错误的,因为它们的年代久远,但我找不到任何关于如何执行此操作的最新指南。谁能告诉我如何在 linux 上实现这一点?

【问题讨论】:

    标签: php email sendmail postfix lampp


    【解决方案1】:

    我找不到使用 Postfix 或 Sendmail 的方法,但我确实找到了使用 SSMTP 的方法。

    首先安装 SSMTP: sudo apt-get install ssmtp 在 ubuntu 上。

    然后,像这样更改配置文件:

    /etc/ssmtp/ssmtp.conf:

    root=username@gmail.com
    mailhub=smtp.gmail.com:587
    rewriteDomain=gmail.com
    hostname=username
    UseSTARTTLS=YES 
    AuthUser=username@gmail.com
    AuthPass=password
    FromLineOverride=YES
    

    /etc/ssmtp/revaliases:

    root:username@gmail.com:smtp.gmail.com:587
    localusername:username@gmail.com:smtp.gmail.com:587
    

    php.ini [反正相关的 sendmail 部分]:

    [mail function]
    ; For Win32 only.
    ; http://php.net/smtp
    SMTP=smtp.gmail.com
    ; http://php.net/smtp-port
    smtp_port=587
    
    ; For Win32 only.
    ; http://php.net/sendmail-from
    ;sendmail_from = me@example.com
    
    ; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
    ; http://php.net/sendmail-path
    sendmail_path = /usr/sbin/ssmtp -t
    

    做完这一切后,一切都很完美。

    【讨论】:

      猜你喜欢
      • 2011-09-14
      • 2013-12-19
      • 2011-12-15
      • 2012-03-30
      • 2013-04-25
      • 2013-03-24
      • 1970-01-01
      • 2011-03-08
      • 2019-06-21
      相关资源
      最近更新 更多