将 php $headers 放在特定联系表中的何处以更改电子邮件 'From' 地址
Where to put the php $headers in a Specific Contact Form to Change the Email 'From' Address
我正在尝试使用 PHP 中的 $headers = "From: webmaster@example.com\r\n";
将联系表单上的 'from' 电子邮件地址设置为 'name@companyname.com'。
它参考了这个答案 PHP mail function 'from' address 我对 php 很陌生,如果答案很明显,我深表歉意,但它让我转弯。
表格的代码如下,但我似乎无法让它工作?有谁知道 how/where 我会将它与下面的代码集成在一起。
亲切的问候,
<?php
if($_POST['submit']) {
if(!$_POST['name']) {
$error="<br>- Please enter your name";
}
if(!$_POST['email']) {
$error.="<br>- Please enter your email";
}
if(!$_POST['telephone']) {
$error.="<br>- Please enter your telephone number";
}
if(!$_POST['message']) {
$error.="<br>- Please enter your message";
}
if(!$_POST['checkbox']) {
$error.="<br>- Please confirm you agree to the Privacy Policy";
}
if ($error) {
$result='<div class="alert error">Whoops, there is an error. Please correct the following: '.$error.'</div>';
} else {
mail("name@company.com", "Contact Message", "Name: ".htmlspecialchars($_POST['name'])."
Email: ".htmlspecialchars($_POST['email'])."
Telephone: ".htmlspecialchars($_POST['telephone'])."
Company: ".htmlspecialchars($_POST['company'])."
Budget: ".htmlspecialchars($_POST['budget'])."
Message: ".htmlspecialchars($_POST['message']));
{
$_POST= array();
$result='<div class="alert thankyou" role="alert">THANK YOU! WE\'LL BE IN TOUCH SHORTLY...</div>';
}
}
}
?>
现在您已经将 3 个参数传递给 mail()
函数,第 4 个参数用于 headers。
因此只需将该字符串作为消息后的第四个参数传递即可。更准确地说:
<?php
if($_POST['submit']) {
if(!$_POST['name']) {
$error="<br>- Please enter your name";
}
if(!$_POST['email']) {
$error.="<br>- Please enter your email";
}
if(!$_POST['telephone']) {
$error.="<br>- Please enter your telephone number";
}
if(!$_POST['message']) {
$error.="<br>- Please enter your message";
}
if(!$_POST['checkbox']) {
$error.="<br>- Please confirm you agree to the Privacy Policy";
}
if ($error) {
$result='<div class="alert error">Whoops, there is an error. Please correct the following: '.$error.'</div>';
} else {
mail("name@company.com", "Contact Message", "Name: ".htmlspecialchars($_POST['name'])."
Email: ".htmlspecialchars($_POST['email'])."
Telephone: ".htmlspecialchars($_POST['telephone'])."
Company: ".htmlspecialchars($_POST['company'])."
Budget: ".htmlspecialchars($_POST['budget'])."
Message: ".htmlspecialchars($_POST['message']),
"From: webmaster@example.com\r\n"
);
{
$_POST= array();
$result='<div class="alert thankyou" role="alert">THANK YOU! WE\'LL BE IN TOUCH SHORTLY...</div>';
}
}
}
?>
更多信息:https://www.php.net/manual/en/function.mail.php
同样对于交易电子邮件,检查 API 之类的 mailgun、sendgrid 等
他们还提供 PHP 用于从他们的服务器发送 e-mail 的库,这通常比普通邮件服务器(邮件最终进入垃圾邮件箱等)更可靠。这些服务还有很棒的仪表板,因此您可以查看成功发送和接收了多少邮件。
我正在尝试使用 PHP 中的 $headers = "From: webmaster@example.com\r\n";
将联系表单上的 'from' 电子邮件地址设置为 'name@companyname.com'。
它参考了这个答案 PHP mail function 'from' address 我对 php 很陌生,如果答案很明显,我深表歉意,但它让我转弯。
表格的代码如下,但我似乎无法让它工作?有谁知道 how/where 我会将它与下面的代码集成在一起。
亲切的问候,
<?php
if($_POST['submit']) {
if(!$_POST['name']) {
$error="<br>- Please enter your name";
}
if(!$_POST['email']) {
$error.="<br>- Please enter your email";
}
if(!$_POST['telephone']) {
$error.="<br>- Please enter your telephone number";
}
if(!$_POST['message']) {
$error.="<br>- Please enter your message";
}
if(!$_POST['checkbox']) {
$error.="<br>- Please confirm you agree to the Privacy Policy";
}
if ($error) {
$result='<div class="alert error">Whoops, there is an error. Please correct the following: '.$error.'</div>';
} else {
mail("name@company.com", "Contact Message", "Name: ".htmlspecialchars($_POST['name'])."
Email: ".htmlspecialchars($_POST['email'])."
Telephone: ".htmlspecialchars($_POST['telephone'])."
Company: ".htmlspecialchars($_POST['company'])."
Budget: ".htmlspecialchars($_POST['budget'])."
Message: ".htmlspecialchars($_POST['message']));
{
$_POST= array();
$result='<div class="alert thankyou" role="alert">THANK YOU! WE\'LL BE IN TOUCH SHORTLY...</div>';
}
}
}
?>
现在您已经将 3 个参数传递给 mail()
函数,第 4 个参数用于 headers。
因此只需将该字符串作为消息后的第四个参数传递即可。更准确地说:
<?php
if($_POST['submit']) {
if(!$_POST['name']) {
$error="<br>- Please enter your name";
}
if(!$_POST['email']) {
$error.="<br>- Please enter your email";
}
if(!$_POST['telephone']) {
$error.="<br>- Please enter your telephone number";
}
if(!$_POST['message']) {
$error.="<br>- Please enter your message";
}
if(!$_POST['checkbox']) {
$error.="<br>- Please confirm you agree to the Privacy Policy";
}
if ($error) {
$result='<div class="alert error">Whoops, there is an error. Please correct the following: '.$error.'</div>';
} else {
mail("name@company.com", "Contact Message", "Name: ".htmlspecialchars($_POST['name'])."
Email: ".htmlspecialchars($_POST['email'])."
Telephone: ".htmlspecialchars($_POST['telephone'])."
Company: ".htmlspecialchars($_POST['company'])."
Budget: ".htmlspecialchars($_POST['budget'])."
Message: ".htmlspecialchars($_POST['message']),
"From: webmaster@example.com\r\n"
);
{
$_POST= array();
$result='<div class="alert thankyou" role="alert">THANK YOU! WE\'LL BE IN TOUCH SHORTLY...</div>';
}
}
}
?>
更多信息:https://www.php.net/manual/en/function.mail.php
同样对于交易电子邮件,检查 API 之类的 mailgun、sendgrid 等
他们还提供 PHP 用于从他们的服务器发送 e-mail 的库,这通常比普通邮件服务器(邮件最终进入垃圾邮件箱等)更可靠。这些服务还有很棒的仪表板,因此您可以查看成功发送和接收了多少邮件。