为了账号安全,请及时绑定邮箱和手机立即绑定

带有 PHP Mailer 的 PHP 电子邮件

带有 PHP Mailer 的 PHP 电子邮件

PHP
哈士奇WWW 2021-12-24 15:49:09
我正在创建一个表单,该表单向输入的电子邮件发送电子邮件。我已经在我的服务器上安装了 PHP 邮件程序。目前,当通过 PHP 发送电子邮件时,它们会像这样发送:当我希望它们看起来像这样时,所有发送的电子邮件都是通过托管服务器发送的。就像在域上发送的任何其他电子邮件一样,它们应该由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">
查看完整描述

1 回答

?
拉丁的传说

TA贡献1789条经验 获得超8个赞

您正在混合 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. */

   $mail->setFrom($email, $name);


/* Add a recipient. */

   $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()) {

  echo 'Message was not sent.';

  echo 'Mailer error: ' . $mail->ErrorInfo;

} else {

  echo 'Message has been sent.';

}

测试以上内容并提供您的反馈。注意,我没有测试代码。只是将它们写在这里,因此可以在需要时进行一些编辑。


查看完整回答
反对 回复 2021-12-24
  • 1 回答
  • 0 关注
  • 222 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信