0

我正在尝试使此联系表格正常工作,但它似乎无法发送标头说它来自 gmail 地址我觉得雅虎地址也混合了那些不起作用的地址。这是似乎对此很重要的代码。如果主持人很重要,我会在 Dreamhost 上。请告诉我。

    if(!is_array($contact_information_type))
{
    $contact_information_type = Array();
}

if($_POST){
    $contact_name = trim(stripslashes($_POST["contact_name"]));
    $contact_company = trim(stripslashes($_POST["contact_company"]));
    $contact_address1 = trim(stripslashes($_POST["contact_address1"]));
    $contact_address2 = trim(stripslashes($_POST["contact_address2"]));
    $contact_city = trim(stripslashes($_POST["contact_city"]));
    $contact_state = trim(stripslashes($_POST["contact_state"]));
    $contact_zip = trim(stripslashes($_POST["contact_zip"]));
    $contact_country = trim(stripslashes($_POST["contact_country"]));
    $contact_phone = trim(stripslashes($_POST["contact_phone"]));
    $contact_fax = trim(stripslashes($_POST["contact_fax"]));
    $contact_email = trim(stripslashes($_POST["contact_email"]));
    $contact_comments = trim(stripslashes($_POST["contact_comments"]));
if($contact_name == ""){ $errors_array[] = "Name is required."; }
if($contact_company == ""){ $errors_array[] = "Company name is required."; }
        if($contact_city == "") { $errors_array[] = "City is required."; }

if($contact_state == ""){ $errors_array[] = "State is required."; }




if($contact_country == "") { $errors_array[] = "Country is required.";}
elseif($contact_country == "United States" ) 
{if($contact_zip != "" && !preg_match("/(^\d{5}$)|(^\d{5}-\d{4}$)/", $contact_zip)){       $errors_array[] = "Incorrect Zip. (e.g. 60660 or 60660-1234)"; };}
elseif($contact_country == "Canada" ){if($contact_zip != "" && !preg_match("/^[ABCEGHJ-    NPRSTVXY]{1}[0-9]{1}[ABCEGHJ-NPRSTV-Z]{1}[ ]?[0-9]{1}[ABCEGHJ-NPRSTV-Z]{1}[0-9]{1}$/i",     $contact_zip)){ $errors_array[] = "Incorrect Zip. (e.g. M4C 1B5 or M4C1B5)"; };}
                                                                                                                                                                                                                                else {;}






    if($contact_phone == ""){ $errors_array[] = "Phone is required."; }
    if($contact_phone != "" && !preg_match("/(^\d{3}-\d{3}-\d{4}$)|  (^\d{10}$)/", $contact_phone)){ $errors_array[] = "Incorrect Phone. (e.g. 123-123-1234)"; }
    if($contact_fax != "" && !preg_match("/(^\d{3}-\d{3}-\d{4}$)|(^\d{10}$)/",   $contact_fax)){ $errors_array[] = "Incorrect Fax. (e.g. 123-123-1234)"; }
    if($contact_email == ""){ $errors_array[] = "E-mail is required."; }
    if($contact_email != "" && !preg_match("/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+\.  [a-zA-Z0-9-.]+$/", $contact_email)){ $errors_array[] = "Incorrect E-mail. (e.g.   youremail@domain.com)"; }
if($contact_comments == ""){ $errors_array[] = "Comments are required."; }
    if(sizeof($errors_array) == 0){
        $contact_information_type = implode(", ",     $contact_information_type);

$email_message = <<<MESSAGE
The contact form on www.rotaryvalve.com has been filled out with the following information:


Name: ${contact_name}
Company: ${contact_company}
Address 1: ${contact_address1}
Address 2: ${contact_address2}
City: ${contact_city}
State: ${contact_state}
Zip: ${contact_zip}
Country: ${contact_country}
Phone: ${contact_phone}
Fax: ${contact_fax}
E-mail: ${contact_email}
Comments/Products of Interest: ${contact_comments}
MESSAGE;

        $email_adds = array("sales-team@wmwmeyer.com", "dan@danbaran.com");
        $email_from = $contact_email;
        $email_subject = "Customer Request/Comment";
        foreach($email_adds as $email_to){
            mail ($email_to, $email_subject, $email_message, "From: ".$email_from." <".$email_from.">");
        }

本质上,如果在表格上填写的contact_email(代码未包含,对不起,您认为您不需要它,但如果您需要,请告诉我)是一个gmail帐户,它似乎没有发送,请帮我解决这个问题.

4

2 回答 2

2

问题是没有被发送,还是没有被接收。我很确定问题不在于正在发送的电子邮件,而是当收件人的电子邮件服务收到它时会发生什么。它可能被归类为垃圾邮件,因为他们可以看到它不是从 GMail 邮件服务器发送的。

于 2012-08-10T19:40:12.583 回答
1

由于 gmail.com 域上的 SPF 记录很可能会将电子邮件标记为垃圾邮件,因此接收服务器或客户端可能会将电子邮件归类为垃圾邮件。

但是,您可以发送带有在联系表单中输入的电子邮件的“回复”标题的电子邮件。这将使电子邮件有更好的机会通过垃圾邮件过滤器,如果收件人点击其客户端中的“回复”按钮,电子邮件将默认发送到此地址。

于 2012-08-10T19:56:16.470 回答