无法通过php发送邮件

beq87vna  于 2023-03-11  发布在  PHP
关注(0)|答案(3)|浏览(136)

我正在尝试使用php发送邮件。我正在使用WampServer。所以我尝试了以下代码

ini_set("SMTP","smtp.gmail.com" );
ini_set("smtp_port","465");
ini_set('sendmail_from', 'person1@gmail.com');          
$to = "person2@gmail.com";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "person1@gmail.com";
$headers = "From:" . $from;
$retval = mail($to,$subject,$message,$headers);
   if( $retval == true )  
   {
      echo "Message sent successfully...";
   }
   else
   {
      echo "Message could not be sent...";
   }

但是它需要更多的时间来连接,并说无法与localhost连接。请帮助我解决这个问题

1wnzp6jl

1wnzp6jl2#

我在使用XAMP时偶然发现了类似的东西,并且能够通过PHPMailer PHP库发送电子邮件。
PHPMailer/examples/中可以找到各种各样的例子,这些例子非常有帮助。下面是一个示例代码,可以用来使用PHPMailer发送电子邮件。
注意:它需要下载库文件,并调整路径到requireuse文件,这是例外,PHPMailer,和SMTP.此外,这种实现需要发件人的用户名和密码发送电子邮件没有效率的联系形式.

use PHPMailer\PHPMailer\Exception;
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;

require 'PHPMailer/src/PHPMailer.php';
require 'PHPMailer/src/SMTP.php';
require 'PHPMailer/src/Exception.php';

$mail = new PHPMailer(true);
$mail->CharSet =  "utf-8";
$mail->IsSMTP();
// enable SMTP authentication
$mail->SMTPAuth = true;                  

$mail->Username = "Email to Send From"; // GMAIL username

$mail->Password = "#########"; // GMAIL password
$mail->SMTPSecure = "ssl";  

$mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server
$mail->Port = "465"; // set the SMTP port for the GMAIL server

$mail->From= $emailFrom;
$mail->FromName='SenderName';
$mail->AddAddress($emailTo, $name);
$mail->Subject  =  'EMAIL SUBJECT';
$mail->IsHTML(true);
$mail->Body    = "

    Dear ".$name.", <br><br>

    Some Text/Message Content. <br><br>

    Regards";

// Temporary fix, remove if SSL available
$mail->SMTPOptions = array(
'ssl' => array(
    'verify_peer' => false,
    'verify_peer_name' => false,
    'allow_self_signed' => true
)
);

try {
$mail->Send();

  // Sent Successfully
  
}catch (Exception $e) {
  echo "Mail Error - >".$mail->ErrorInfo;
}

希望这有帮助:)

kulphzqa

kulphzqa3#

您正在尝试从本地主机(您的PC)发送邮件。我猜它没有设置为发送邮件。将脚本移动到生产服务器,它将工作

相关问题