带有 PHP Mailer 的 PHP 电子邮件

我正在创建一个表单,该表单向输入的电子邮件发送电子邮件。我已经在我的服务器上安装了 PHP 邮件程序。

目前,当通过 PHP 发送电子邮件时,它们会像这样发送:

http://img.mukewang.com/61c57b8f000104e504430087.jpg

当我希望它们看起来像这样时,所有发送的电子邮件都是通过托管服务器发送的。

http://img1.mukewang.com/61c57b9800014d3204080079.jpg

就像在域上发送的任何其他电子邮件一样,它们应该由domain.com而不是服务器邮寄。


我只是在测试这个,所以使用一个简单的表格作为概念证明。


<form method="post" name="process.php" action="process.php">

<p>Name:</p><br><input type="text" name="name"><br><br>

<p>Email Address:</p><br><input type="text" name="email"><br><br>

<br>

<input type="submit" value="Send Email">

</form>

然后我使用这个 PHP 发送电子邮件:


<?php

$name = $_POST['name'];

$email = $_POST['email'];


use PHPMailer\PHPMailer\PHPMailer;

require 'vendor/autoload.php';

$mail = new PHPMailer;

$mail->isSMTP();

$mail->SMTPDebug = 2;

$mail->Host = 'smtp.hostinger.com';

$mail->Port = 587;

$mail->SMTPAuth = true;

$mail->Username = 'noreply@domain.com';

$mail->Password = 'password';


$email_from = "noreply@domain.com";

$email_subject = "Test Email";


$to = $email;

$headers = "From: noreply@domain.com \r\n";

$headers .= "Bcc: noreply@domain.com \r\n";

$headers .= "Reply-To: me@domain.com \r\n";

$headers .= "Content-Type: text/html; charset=UTF-8\r\n";



$email_body = <<<EOM

<p color="#000000">Hello, $name.<br><br> This is a test email for mailing from the domain rather than the server.<br><br> </p>

EOM

    ;


mail($to, $email_subject, $email_body, $headers);


?>

基本上,我希望通过我的域邮寄 PHP 电子邮件,但我不知道如何执行此操作,因此将不胜感激,我的网络主机似乎无法帮助我解决此问题。


提前致谢。


UPDATE


此代码用于表单。


<h1>The email gets sent to a bookings address.</h1>


<form method="post" name="process.php" action="process.php">

<p class= "whitetextsubsmall">Name:</p><br><input type="text" name="name"><br><br>

<p class= "whitetextsubsmall">Email Address:</p><br><input type="text" name="email"><br><br>

<br>

<input type="submit" value="Send Email">


哈士奇WWW
浏览 223回答 1
1回答

拉丁的传说

您正在混合 PHPMailer 语法和 PHP mail() 语法。对于 PHPMailer,请在您的代码中使用以下内容。<?php$name = $_POST['name'];$email = $_POST['email'];use PHPMailer\PHPMailer\PHPMailer;require 'vendor/autoload.php';$mail = new PHPMailer;$mail->isSMTP();$mail->SMTPDebug = 2;$mail->Host = 'smtp.hostinger.com';$mail->Port = 587;$mail->SMTPAuth = true;$mail->Username = 'noreply@domain.com';$mail->Password = 'password';/* Set the mail sender. */&nbsp; &nbsp;$mail->setFrom($email, $name);/* Add a recipient. */&nbsp; &nbsp;$mail->addAddress('noreply@domain.com', 'earningtoanimate');/* Add a replyto. */$mail->addReplyTo($email, $name);/* Add a CC and Bcc. */$mail->addCC('noreply2@domain.com', 'earningtoanimate2');$mail->addBCC('noreply3@domain.com', 'earningtoanimate3');/* Add email subject. */$mail->Subject = 'Test Email';/* Add email body. */$mail->isHTML(TRUE);$mail->Body = 'There goes your message.';/* Finally send the mail. */if(!$mail->send()) {&nbsp; echo 'Message was not sent.';&nbsp; echo 'Mailer error: ' . $mail->ErrorInfo;} else {&nbsp; echo 'Message has been sent.';}测试以上内容并提供您的反馈。注意,我没有测试代码。只是将它们写在这里,因此可以在需要时进行一些编辑。
打开App,查看更多内容
随时随地看视频慕课网APP