localhost用作开发服务器以开发Web应用程序。
在将其移动到生产服务器之前,在localhost上测试了Web应用程序的所有功能。
但是,当需要在localhost服务器上测试电子邮件功能时出现问题。
通常,电子邮件发送功能无法使用localhost中的内置函数。
如果使用PHP构建Web应用程序,则mail()函数用于使用PHP从脚本发送电子邮件。
但PHP Mail()函数在localhost不起作用。
在本教程中,我们将展示如何在PHP中从LocalHost发送电子邮件。
使用此示例脚本,我们可以使用PHP从任何Localhost服务器(XAMPP,WAMP或者任何其他人)发送电子邮件。
我们将使用phpmailer使用php从localhost发送电子邮件。
PHPMailer库提供了使用PHP与SMTP服务器从LocalHost发送电子邮件的最简单方法。
不仅是文本电子邮件,还可以使用PHPMailer在PHP中从LocalHost中发送HTML电子邮件。
我们可以使用Gmail帐户作为SMTP服务器,以从localhost发送电子邮件。
在使用Gmail SMTP服务器之前,我们需要在Google帐户中配置以下设置。
- 登录Google帐户并转到安全页面。
- 向下滚动到较少的安全应用程序访问部分。打开较少的安全应用程序访问权限。
使用PHP从LocalHost发送电子邮件
以下代码片段将使用PHPMailer从LocalHost发送HTML电子邮件。
- 包括PHPMailer库并创建此类的实例。
- 设置SMTP凭据(主机,用户名,密码和端口)。
- 指定发件人姓名和电子邮件('$mail-> setfrom')。
- 设置收件人电子邮件地址('$mail-> addaddress')。
- 设置电子邮件主题('$mail->主题')。
- 设置电子邮件的身体内容('$MAIL-> BODY')。
- 使用phpmailer类的'send()'方法发送电子邮件。
<?php //Import PHPMailer classes into the global namespace use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require 'PHPMailer/Exception.php'; require 'PHPMailer/PHPMailer.php'; require 'PHPMailer/SMTP.php'; $mail = new PHPMailer; $mail->isSMTP(); //Set mailer to use SMTP $mail->Host = 'smtp.gmail.com'; //Specify main and backup SMTP servers $mail->SMTPAuth = true; //Enable SMTP authentication $mail->Username = 'user@gmail.com'; //SMTP username $mail->Password = 'gmail_password'; //SMTP password $mail->SMTPSecure = 'tls'; //Enable TLS encryption, `ssl` also accepted $mail->Port = 587; //TCP port to connect to //Sender info $mail->setFrom('sender@onitroad.com', 'onitroad'); $mail->addReplyTo('reply@onitroad.com', 'onitroad'); //Add a recipient $mail->addAddress('recipient@example.com'); //$mail->addCC('cc@example.com'); //$mail->addBCC('bcc@example.com'); //Set email format to HTML $mail->isHTML(true); //Mail subject $mail->Subject = 'Email from Localhost by onitroad'; //Mail body content $bodyContent = '<h1>How to Send Email from Localhost using PHP by onitroad</h1>'; $bodyContent .= '<p>This HTML email is sent from the localhost server using PHP by onitroad</p>'; $mail->Body = $bodyContent; //Send email if(!$mail->send()) { echo 'Message could not be sent. Mailer Error: '.$mail->ErrorInfo; } else { echo 'Message has been sent.'; } ?>
请注意:如果要使用Gmail作为SMTP服务器,请将Google电子邮件地址设置为SMTP用户名和密码作为SMTP密码。
我们可以使用PHPMailer从LocalHost发送具有多个附件的电子邮件。
- 将文件路径设置为addattachment()方法。
//Add attachments $mail->addAttachment('/var/tmp/file.tar.gz'); $mail->addAttachment('/tmp/image.jpg', 'new.jpg'); //Optional name
日期:2020-06-02 22:15:31 来源:oir作者:oir