我在谷歌和Youtube上搜索过这个答案,但没有找到答案。
我在网站上创建了一个非常简单的联系表格。
(http://www.torontoimc.com/contact)
我附加了一个单独的PHP文件来处理联系表单元素。
当有人通过我网站上的表单向我发送查询时,我会收到除该人的电子邮件地址输入部分信息之外的所有信息。
我收到该电子邮件地址非常重要,否则我将无法回复曾将其发送给我的人。
我已尝试将表单设置为发送到我的Gmail和Outlook电子邮件,但它只是将其发送为:
它只显示发件人的电子邮件地址为随机名称“@ hemi.websitewelcome.com”
我不确定这是服务器端问题还是PHP文件问题。
我已经为我的联系表单和PHP文件添加了代码。
以下是联系表格代码:
<form action="formprocess.php" method="post" name="contact">
<fieldset>
<label>First Name</label>
<input name="first_name" type="text"/>
<label>Last Name</label>
<input name="last_name" type="text"/>
<label>Email</label>
<input name="email_add" type="text"/>
<label>Please write your inquiry below.</label>
<textarea name="message" rows="15" cols="40">
</textarea>
<input type="submit" name="submit" id="submit" value="Submit"/>
<input type="reset" name="reset" id="reset" value="Reset"/>
</fieldset>
</form>
这是php代码:
<?php
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email_add = $_POST['email_add'];
$message = $_POST['message'];
$to = "torontoimc@gmail.com";
$subject = "Inquiry for TorontoIMC";
mail ($to, $subject, $message, "From: " . $first_name . $last_name . $email_add);
header('Location: thanks.html');
exit();
?>
我很抱歉,如果这是一个重复的问题,但我是php的新手,并没有真正找到答案,如果有人可以帮助我,我真的很感激。
谢谢,
Latish Vohra
答案 0 :(得分:2)
试试这个:
$headers = "From: $first_name $last_name <$email_add>\r\n";
mail ($to, $subject, $message, $headers );
我将“\ r \ n”添加到From
答案 1 :(得分:0)
我了解您要在FROM
行上尝试做什么,但您应该使用“真正的”FROM发件人。许多服务器不允许您使用来自不是主机的域的FROM
行(考虑一下,事实是你说谎,填写表单的人实际上 发送该电子邮件)。
其次,按照user4035在FROM
中设置电子邮件样式的方式,如果您打算使用name last name <email>
,它可能不仅仅是正常练习的方式,也是你编写它的方式,加入没有空格的字段,你可能会得到一个FROM
行,例如这个FrançoisMARTIN MELLIERfmartinm@gmail.com
,可能包含非法字符和/或空格,可能会导致某些服务器阻塞或丢弃。相反,'FROM: '. $first_name . ' '. $last_name. ' <'. $email_add. '>'
将生成FROM: François Martin Mellier <fmartinm@gmail.com>
。但是,您应该使用您发送的同一个域中的真实帐户(可能类似'FROM: New enquiry <info@torontoimc.com>'
?)。正如已经指出的那样,将email_add
字段包含在邮件正文或主题行中以便接收它;那些是适当的地方。
使用像mti2935这样的-f
参数指出总是一个好主意,但前提是该电子邮件coount属于与服务器相同的域。
作为附注,请尽量将错误考虑在内,至少:
if (mail ($to, $subject, $message, $headers )) {
header('Location: thanks.html');
} else {
header('Location: error.html');
}
可能会走很长的路。