我正在使用Send Grid来驱动我的非cms网站上的联系表单。一切正常。表格提交后,我会收到电子邮件。有时是垃圾,有时不是。当我按回复时,会发生问题。在我的联系表中收集的电子邮件没有出现在“收件人”框中,而是出现了no-reply@exampledomain.com。
我尝试将no-reply@exampledomain.com替换为用于收集用户电子邮件地址的变量,当我按Reply时该方法运行良好。但这显然会导致触发各种垃圾邮件过滤器。显然,没有办法避免这种情况,因为将不会针对填写该表单的人的电子邮件地址针对SPF记录验证电子邮件。避免电子邮件垃圾邮件的唯一方法是使用同一域上的地址。我真的不懂什么,因为我只知道如何使用PHP变量。我的客户发疯了,我没有人来帮助我。
<?php
if (isset($_POST['submit']) && ($_POST['antispam']) == "") {
// CUSTOMISE THE BELOW
$full_name = $_POST['full_name'];
$contact_number = $_POST['contact_number'];
$email_address = $_POST['email_address'];
$antispam = $_POST['antispam'];
$client_comments = $_POST['client_comments'];
/* I MADE CHANGES HERE. I COMMENTED OUT TWO LINES AND REPLACED THEM WITH TWO VARIABLES I SET ABOVE */
$fromemail = $email_address;
$fromname = $full_name;
//$fromemail = "no-reply@exampledomain.com";
//$fromname = "example company name";
$recipient = "enquiries@exampledomain.com";
$subject = 'Booking Enquirey';
$message =
'<p>Name: <span>' . $full_name . '</span></p>' .
'<p>Number: <span>' . $contact_number . '</span></p>' .
'<p>Email: <span>' . $email_address . '</span></p>' .
'<p>' . $antispam . '</p>' .
'<p>Comments: <span>' . $client_comments . '</span></p>';
// CUSTOMISE THE ABOVE ONLY
// DON'T EDIT BELOW HERE
$sg_username = "exampleusername";
$sg_password = "examplepassword";
require ("./vendor/autoload.php");
$sendgrid = new SendGrid( $sg_username, $sg_password );
$mail = new SendGrid\Email();
try {
$mail->
setFrom( "$fromemail" )->
setFromName( "$fromname" )->
AddTo("$recipient")->
setSubject( "$subject" )->
setHtml( "$message" );
$response = $sendgrid->send( $mail );
} catch ( Exception $e ) {
}
} else {
//go back to the form
}
............ More code below removed..............
如果有人可以帮助我理解如何删除no-reply@exampledomain.com而不是经常陷入垃圾邮件中,我的客户会像我们通常一样简单地接收电子邮件并进行回复,我会喜欢它。
我了解这不是代码编写服务,因此如果您不能帮助您,请指向一个完全不同的脚本,该脚本可以解决我的所有问题。
非常感谢您的光临。