如何使用 php 发送欢迎电子邮件和重定向页面

Posted

技术标签:

【中文标题】如何使用 php 发送欢迎电子邮件和重定向页面【英文标题】:How to send a welcome email and redirect page using php 【发布时间】:2012-09-09 22:43:14 【问题描述】:

目前我有下面的代码,它将 html 输入字段(电子邮件)的内容发送到welcome@domain.com 地址。我现在正在努力解决两件事。我使用了以下代码无济于事 -

$to = "welcome@domain.com";
$headers = "From: $email_from \r\n";
$headers .= "Reply-To: $visitor_email \r\n";

mail($to,$email_subject,$email_body,$headers);
//done. redirect to thank-you page.
header('Location: thankyou.html');

    如何自动从welcome@domain.com 发送电子邮件回复?

    有没有办法将他们重定向到 domain.com/thankyou.html 而不是页面显示“感谢您与我们联系,我们会尽快与您联系”?

    李>

这是代码的其余部分,似乎工作正常!如果对此有任何建议,尽管他们总是非常欢迎!

if(isset($_POST['email'])) 

$email_to = "welcome@domain.com";
$email_subject = "Your spot has been saved!";
function died($error) 


echo "We are very sorry, but there were error(s) found with the form your submitted";
echo "These errors appear below<br /><br />";
echo $error."<br /><br />";
echo "Please go back and fix these errors<br /><br />";
die();



if(
!isset($_POST['email'])
) 
died("We are sorry, but there appears to be a problem with the form your submitted!");

$email_from = $_POST['email']; 
$error_message = "";
$email_exp = "^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]2,4$";
if(!eregi($email_exp,$email_from)) 
$error_message .= "The Email Address you entered does not appear to be valid!<br />";

if(strlen($error_message) > 0) 
died($error_message);

$email_message = "Form details below.\n\n";
function clean_string($string) 
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);

$email_message .= 'Email: '.clean_string($email_from)."\n";

$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: php/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>
Thank you for contacting us. We will be in touch with you very soon.
<?

?>

【问题讨论】:

您现有的代码有什么问题?它会给出错误消息吗?不发邮件?向错误的地址发送电子邮件? 嗨,andrewsi,表单将初始电子邮件发送到 welcome@domain.com,没有显示任何错误,页面只显示“感谢您与我们联系,我们会尽快与您联系” .返回的电子邮件只是没有发送,据我所知,它没有发送到错误的地址,只是根本没有发送。 您应该从第二个mail 调用中删除“@”前缀,否则它会抑制错误消息 (***.com/questions/4653358/…)! 【参考方案1】:

关于未重定向的页面,请参阅此帖子 ***.com/questions/6396813/php-header-not-redirecting 它基本上说你不能在标头调用之前将任何值输出到流中。

对于邮件问题,请详细说明您遇到的错误。

【讨论】:

以上是关于如何使用 php 发送欢迎电子邮件和重定向页面的主要内容,如果未能解决你的问题,请参考以下文章

单击 Razor Pages Asp 发送电子邮件和重定向

php:如何重定向到带有错误消息的同一页面

如何重定向到thankyou.html页面(PHP)

SpringMVC框架如何实现请求转发和重定向呢?

需要 PHP 用户登录、数据库身份验证和重定向帮助

Django - 如何在发送邮件时重定向