更改电子邮件地址PHP联系表单

时间:2015-08-18 23:08:52

标签: php forms email-headers

我目前正在处理我的联系表单脚本,每当我填写联系表单时,我都会完全收到邮件,没有任何问题。电子邮件看起来像这样

来自:noreply@domain.tld和主题:联系表格提交。我想将noreply@domain.tld更改为我的公司名称......这样,每当我收到邮件时,我都不会看到显示的电子邮件地址,而是我会看到我的公司名称。当然,回复功能必须保持活跃状态​​。有人可以帮助我吗?

    <?php

// Check if the form has been posted
if (isset($_POST['submit'])) {
    // The email address the email will be sent to
    $to = "xx@domain.pl";
    // The email subject
    $subject = "Contact Form Submission";
    // Set the from and reply-to address for the email
    $headers = "From: no-reply@xxx.pl\r\n"
             . "X-Mailer: PHP/" . phpversion();
    // Build the body of the email
    $mailbody = "The contact form has been filled out.\n\n"
              . "Name: " . $_POST['naam'] . "\n"
              . "Email: " . $_POST['email'] . "\n"
              . "Message:\n" . $_POST['vraag'];
    // Send the email
    mail($to, $subject, $mailbody, $headers);
    // Go to the thank you page
    header("location: thankyou.html");
    exit;

}

1 个答案:

答案 0 :(得分:1)

电子邮件地址的格式应符合RFC 2822标准:

  

通常,邮箱由两部分组成:(1)可选   显示名称,表示收件人的姓名(可以   可以显示给用户的人或系统   邮件应用程序,以及(2)以角度包含的addr-spec地址   括号(&#34;&lt;&#34;和&#34;&gt;&#34;)。还有一种替代的简单形式   addr-spec地址单独出现的邮箱,没有收件人的姓名或尖括号。

所以,你应该像"Company name <name@company.tld>"一样写。替换此行:

$headers = "From: no-reply@domain.tld\r\n"

使用:

$headers = "From: Company name <no-reply@domain.tld> \r\n"