【发布时间】:2015-01-14 06:37:58
【问题描述】:
好的,所以我正在编写一个 php 联系表格,它将发送两封电子邮件。一封给网站管理员,其中包含信息和发送给表单提交者的类似确认电子邮件。
问题在于确认电子邮件。我正在尝试配置 From: 标头和 Reply-to: 但由于某种原因遇到了障碍。
最初我将我的 php 设置为声明每个标头参数...
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$guests = $_POST['guests'];
$type = $_POST['type'];
$month = $_POST['month'];
$day = $_POST['day'];
$year = $_POST['year'];
$message = $_POST['message'];
$formcontent="THIS IS A FORM SUBMISSION FROM domain.COM... \n \n PARTY INQUIRY \n \n From: $name \n Email: $email \n Phone: $phone \n # of Guests: $guests \n Type: $type \n Date Requested: $month $day, $year \n \n Additional Info: $message";
$comfirmcontent="THIS IS A CONFIRMATION OF YOUR FORM SUBMISSION TO domain.COM... \n \n PARTY INQUIRY \n \n From: $name \n Email: $email \n Phone: $phone \n # of Guests: $guests \n Type: $type \n Date Requested: $month $day, $year \n \n Additional Info: $message \n\n\n If you have any further questions please email info@mydomain.com";
$confirmsubject="Confirmation for your inquiry to mydomain.COM";
$confirmheader="From: mydomain.com" . "\r\n" .
"Reply-To: info@mydomain.com" . "\r\n" .
"X-Mailer: PHP/" . phpversion();
$recipient = "info@domain.com";
$subject = "Party Inquiry from Website";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
mail($email, $confirmsubject, $comfirmcontent, $confirmheader) or die("Error!");
header('Location: party-form-thank-you.html')
据我所知,这是正确的方法,但我仍然有 From: 说“mydomain.com@myhostdomain.com 作为发件人姓名和发件人电子邮件。这就是我什至声明标题和它是空的。
然后我尝试使用覆盖
mail($email, $confirmsubject, $comfirmcontent, $confirmheader,'-finfo@mydomain.com') or die("Error!");
返回相同的结果。
所以我只好使用以下没有声明的标题。
mail($email, $confirmsubject, $comfirmcontent, null,'-finfo@mydomain.com') or die("Error!");
这给了我正确的发件人/回复地址,但也将其作为发件人姓名。
所以我的问题是,是否有任何方法可以编写标题以便电子邮件这样表述:
发件人姓名:myDomain.com
发件人电子邮件:info@mydomain.com
【问题讨论】:
-
是的,这一切都在手册中php.net/manual/en/function.mail.php
-
如果您指的是该手册中的此代码,那是我最初编写的代码。正如你在我的帖子中看到的那样。 $to = 'nobody@example.com'; $subject = '主题'; $message = '你好'; $headers = '来自:webmaster@example.com' 。 "\r\n" 。 “回复:webmaster@example.com”。 "\r\n" 。 'X-Mailer: PHP/' 。 php版本();邮件($to, $subject, $message, $headers);
-
你需要深入挖掘它;-)
-
From:应该是一个电子邮件地址。你没有提供一个 - 你只是在打一个域名。From: foo@example.com- 很好。From: example.com- 不好。 -
实际上
$fromname="mydomain.com";$fromemail="info@mydomain.com";'From: "' . $fromname . '" <' . $fromemail . '>完美地显示了我想要的发件人姓名和发件人电子邮件