如何使用带有php联系人表单的本地xampp从我的mac发送邮件

时间:2017-12-28 02:45:31

标签: php html xampp smtp phpmailer

我的2016 macbook pro上安装了xampp 7.1。我的源文件夹中有一个php联系人表单,由chrome和我的html成功呈现。但是,我需要配置smtp设置以从我的mac本地测试一些功能。

我在xampp etc文件夹中找到了一个包含一些邮件功能的php.ini。 php.ini mail function screenshot

我发现其他文章引用了phpmailer但是因为它们已经有几年了,我认为xamp的较新版本可能具有内置的所有功能。

我可以修改此php.ini文件以使用Gmail邮箱作为收件人吗?怎么样?

提前致谢

这是邮件功能的复制粘贴:

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP=smtp.gmail.com
; http://php.net/smtp-port
smtp_port=25

; 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 =

; Force the addition of the specified parameters to be passed as extra 
parameters
; to the sendmail binary. These parameters will always replace the 
value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =

; Add X-PHP-Originating-Script: that will include uid of the script 
followed by the filename
mail.add_x_header=On

; Log all mail() calls including the full path of the script, line #, 
to address and headers
;mail.log =

1 个答案:

答案 0 :(得分:0)

如果你要做的是从你的应用服务器发送邮件到你自己的Gmail收件箱,你不必修改这些设置;使用PHPMailer是一种更简单的方法。让我们一步一步开始吧。

    1. 允许Less secure apps - 或 - 配置XOAUTH2;归功于@Synchro。
    1. 下载PHPMailer并将PHPMailer.phpSMTP.phpException.php提取到您的xampp/htdocs文件夹

      enter image description here

    1. 撰写示例发送邮件页面send.php :(修改为您的真实帐户)

      <?php
      require_once('SMTP.php');
      require_once('PHPMailer.php');
      require_once('Exception.php');
      
      use \PHPMailer\PHPMailer\PHPMailer;
      use \PHPMailer\PHPMailer\Exception;
      
      $mail=new PHPMailer(true); // Passing `true` enables exceptions
      
      try {
          //settings
          $mail->SMTPDebug=2; // Enable verbose debug output
          $mail->isSMTP(); // Set mailer to use SMTP
          $mail->Host='smtp.gmail.com';
          $mail->SMTPAuth=true; // Enable SMTP authentication
          $mail->Username='YourAccount@gmail.com'; // SMTP username
          $mail->Password='YourPassword'; // SMTP password
          $mail->SMTPSecure='ssl';
          $mail->Port=465;
      
          $mail->setFrom('sender@whatever.com', 'optional sender name');
      
          //recipient
          $mail->addAddress('YourAccount@gmail.com', 'optional recipient name');     // Add a recipient
      
          //content
          $mail->isHTML(true); // Set email format to HTML
          $mail->Subject='Here is the subject';
          $mail->Body='This is the HTML message body <b>in bold!</b>';
          $mail->AltBody='This is the body in plain text for non-HTML mail clients';
      
          $mail->send();
      
          echo 'Message has been sent';
      } 
      catch(Exception $e) {
          echo 'Message could not be sent.';
          echo 'Mailer Error: '.$mail->ErrorInfo;
      }
      
      ?>
      
    1. 完成上述所有操作后,请在您的应用服务器上发出send.php的网址以发送示例电子邮件
    1. 根据此示例,您可以编写实际使用的联系表单。您可能还想更改PHPMailer的位置,然后您应该修改示例代码中的路径以指向它们所在的新位置。