我如何添加一个PHP脚本来自动响应一个";“谢谢你”;消息
我是php新手,刚刚学会了如何使用php和phpMail将用户的电子邮件地址发送到我的电子邮件地址,以添加到新闻稿中 但是,现在我想在php中添加一个简单的自动回复脚本,因此当用户将他们的电子邮件添加到我的访客列表时,它会向他们的电子邮件发送一封自动回复电子邮件,上面写着: 谢谢你的注册。[我的标志图片]www.mysite.com 我搜索了又搜索,但是我还没有找到一个关于如何在php中创建自动响应脚本的正确答案。请告诉我如何完成这项任务。谢谢大家!我如何添加一个PHP脚本来自动响应一个";“谢谢你”;消息,php,email,phpmyadmin,phpmailer,contact-form,Php,Email,Phpmyadmin,Phpmailer,Contact Form,我是php新手,刚刚学会了如何使用php和phpMail将用户的电子邮件地址发送到我的电子邮件地址,以添加到新闻稿中 但是,现在我想在php中添加一个简单的自动回复脚本,因此当用户将他们的电子邮件添加到我的访客列表时,它会向他们的电子邮件发送一封自动回复电子邮件,上面写着: 谢谢你的注册。[我的标志图片]www.mysite.com 我搜索了又搜索,但是我还没有找到一个关于如何在php中创建自动响应脚本的正确答案。请告诉我如何完成这项任务。谢谢大家! <?php $email = $_R
<?php
$email = $_REQUEST['email'] ;
require("C:/inetpub/mysite.com/PHPMailer/PHPMailerAutoload.php");
$mail = new PHPMailer();
// set mailer to use SMTP
$mail->IsSMTP();
$mail->Host = "smtp.comcast.net"; // specify main and backup server
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "myusername@comcast.net"; // SMTP username
$mail->Password = "*******"; // SMTP password
$mail->SMTPSecure = 'ssl'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 25;
$mail->From = $email;
// below we want to set the email address we will be sending our email to.
$mail->AddAddress("myemail@gmail.com", "Guestlist");
// set word wrap to 50 characters
$mail->WordWrap = 50;
// set email format to HTML
$mail->IsHTML(true);
$mail->Subject = "A new member wishes to be added";
$message = $_REQUEST['message'] ;
$mail->Body = $email;
$mail->AltBody = $email;
if(!$mail->Send())
{
echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}
echo "Message has been sent";
$mail2 = new PHPMailer();
// set mailer to use SMTP
$mail2->IsSMTP();
$mail2->Host = "smtp.comcast.net"; // specify main and backup server
$mail2->SMTPAuth = true; // turn on SMTP authentication
$mail2->Username = "myusername@comcast.net"; // SMTP username
$mail2->Password = "*******"; // SMTP password
$mail2->SMTPSecure = 'ssl'; // Enable TLS encryption, `ssl` also accepted
$mail2->Port = 25;
$mail2->From = $email;
// below we want to set the email address we will be sending our email to.
$mail2->AddAddress("$email");
// set word wrap to 50 characters
$mail2->WordWrap = 50;
// set email format to HTML
$mail2->IsHTML(true);
$mail2->Subject = "Thank you for joining";
$message = "Please stay tune for updates" ;
$message = $_REQUEST['message'] ;
$mail2->Body = $message;
$mail2->AltBody = $message;
if(!$mail2->Send())
{
echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail2->ErrorInfo;
exit;
}
echo "Message has been sent";
?>
更新:1
好的,我知道了如何向用户发送自动回复电子邮件。但是,现在用户正在接收带有自己电子邮件地址和Root用户名称的消息
那么,我该如何解决此问题,以便用户在收到自动回复时看到我的电子邮件地址,以及如何确保它显示的是我的姓名而不是根用户?添加:
echo "Message has been sent";
$mail = new PHPMailer();
$mail->From = 'myemail@gmail.com';
// below we want to set the email address we will be sending our email to.
$mail->AddAddress($email);
// set word wrap to 50 characters
$mail->WordWrap = 50;
// set email format to HTML
$mail->IsHTML(true);
$mail->Subject = "Thanks for joining ...";
$message = "Thanks for joining...";
$mail->Body = $email;
$mail->AltBody = $email;
$mail->Send();
不要使用提交人的电子邮件地址作为发件人地址-这将不起作用,因为它看起来像是伪造的,并且将无法通过SPF检查。将您自己的地址作为发件人地址,并添加提交人的地址作为答复 使用
SMTPSecure='ssl'
和Port=25
是一种极不寻常的组合,很可能是错误的。ssl/465和tls/587更为常见
要发送多条消息,无需创建第二个实例,只需重复使用同一个实例即可。您可以使用$mail->clearAddresses()
,重置您想要的任何单个属性(如Body
)并清除地址,然后再次调用$mail->send()
看起来您的代码基于一个旧的示例(请尝试)-确保您正在使用-至少5.2.10。将电子邮件地址插入数据库->向用户发送电子邮件。不清楚您遇到了什么困难,只需创建一些新变量(例如,
$usermail
或类似的内容)和另一个带有感谢信息的消息变量,以及电子邮件变量,然后再次在其上运行该过程。我对php不熟悉,你能详细说明一下如何添加$usermail和另一个消息变量吗?@Dagon你想获得荣誉吗?第二轮PHPMailer你可以做一些简单的事情,比如$mail2=new PHPMailer()
然后为$mail
为$mail2
执行所有操作,除了用您想要的内容替换主题和正文,以及使用$useremail
执行AddAddress()
callI添加脚本时运气不佳。如果有帮助,这是我的html:Email:检查我的编辑。自动应答器现在可以工作了。但是,用户会收到名为RootUser的自动回复电子邮件,并且是从他们自己的电子邮件发送的。那么,为什么我的电子邮件地址没有出现在自动回复电子邮件中呢?因为他们已经愚蠢地将addaddress设置为表单中的电子邮件,而它应该设置为您的电子邮件。引用答案:不要使用提交人的电子邮件地址作为发件人地址-这不会起作用,因为它看起来像是伪造的,并且会通过SPF检查。将您自己的地址作为发件人地址,并添加提交人的地址作为回复。谢谢,您解决了我问题的后半部分。通过使用最新的phpmailer代码,我现在能够将相应的姓名与他们的电子邮件进行匹配。不再有根用户。