【问题标题】:HTML Form data via PHP通过 PHP 的 HTML 表单数据
【发布时间】:2012-01-11 02:25:40
【问题描述】:

我对 PHP 脚本完全陌生,并整理了以下代码,但我希望收到的电子邮件显示它是从 HTML 表单中的电子邮件字段发送的,而不是当前的“宁静区网站 [www.宁静地带.co.uk@linweb.ahost.me]”。请你能告诉我应该改变什么。非常感谢。

<?
$msg .= "Name:\t $_POST[name]\n";
$msg .= "E-mail:\t $_POST[email]\n";
$msg .= "Telephone:\t $_POST[telephone]\n";
$msg .= "Subject:\t $_POST[subject]\n";
$msg .= "Message:\t $_POST[message]\n";

$to = "jenny@tranquilityzone.co.uk";
$subject = "Website feedback message";


$headers = 'From: '.$email_from."\r\n".
            'Reply-To: '.$email_from."\r\n" .

$mailheaders = "From: The Tranquility Zone Website <www.tranquilityzone.co.uk>\n";
$mailherders .= "Reply to: $_POST[sender_email]\n";


header( "Location: http://www.tranquilityzone.co.uk/thank_you.html" );

@mail ($to, $subject, $msg, $mailheaders);
?>

【问题讨论】:

  • 你应该小心弄乱它。这是将您的服务器列入黑名单的好方法。如果发件人电子邮件服务器与实际发送服务器不匹配,您将看起来像垃圾邮件。是什么阻止了用户提交诸如 accounts@bankofamerica.com 或 mark@facebook.com 之类的内容?

标签: php html forms email


【解决方案1】:

将您的代码更改为:

<?php
    $msg .= "Name:\t ".$_POST['name']."\n";
    $msg .= "E-mail:\t ".$_POST['email']."\n";
    $msg .= "Telephone:\t ".$_POST['telephone']."\n";
    $msg .= "Subject:\t ".$_POST['subject']."\n";
    $msg .= "Message:\t ".$_POST['message']."\n";

    $to = "jenny@tranquilityzone.co.uk";
    $subject = "Website feedback message";


    $headers = 'From: '.$_POST['email']."\r\n".'Reply-To: '.$_POST['email']."\r\n" .

    $mailheaders = "From: ".$_POST['email']."\n";
    $mailheaders .= "Reply to: ".$_POST['email']."\n";


    header( "Location: http://www.tranquilityzone.co.uk/thank_you.html" );

    @mail ($to, $subject, $msg, $mailheaders);
?>

【讨论】:

  • 感谢您的建议和专业知识。这真的很有帮助。
  • 这应该负责任地使用。
【解决方案2】:
$mailheaders = "From: $_POST[sender_email]\n";
$mailheaders .= "Reply-to: $_POST[sender_email]\n";

$mailheaders = "From: $_POST[email]\n";

【讨论】:

  • 我假设表单在网站上。 user1076476 感兴趣的不是服务器电子邮件,而是填写表格的人的电子邮件地址。据我了解,Kai Qing 建议不要尝试更改“From:”,而是使用 $msg 中的信息。
  • 是的,表格在网站上,我只想给自己发消息,让他们很容易回复。答案有帮助。谢谢。
【解决方案3】:

您的第二个邮件头 (mailherders) 变量中似乎有拼写错误

试试这个:

$headers = 'From: '.$email_from."\r\n".
            'Reply-To: '.$email_from."\r\n" .

$mailheaders = "From: The Tranquility Zone Website <www.tranquilityzone.co.uk>\n";
$mailheaders .= "Reply-to: $_POST[sender_email]\n";

我的免责声明:我不容忍这种类型的活动,因为当您收到来自真正发件人以外的其他人的电子邮件时,它看起来非常可疑。是的,您可能会因此被列入黑名单。

【讨论】:

  • 感谢您的帮助。这只是为了让自己从 HTML 表单中发送消息,并更容易将消息直接回复给发件人,因此没有任何可疑的意图。
  • @user1076476 很高兴听到 :) 认为除了检查之外没有任何其他内容。以供将来参考,将其放入原始问题中是一件好事。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-21
  • 1970-01-01
  • 2020-11-08
  • 1970-01-01
  • 2023-02-18
相关资源
最近更新 更多