【问题标题】:php configuration for send mail [duplicate]发送邮件的php配置[重复]
【发布时间】:2015-11-18 07:03:30
【问题描述】:

我的 php 发送邮件有以下脚本,但收到“无法发送邮件!请检查您的 PHP 邮件配置”的错误。

<?php
if($_POST)
{
    $to_Email       = "bruce@webauthorsgroup.com"; //Replace with recipient email address
    $subject        = 'IFD Derby Submission'; //Subject line for emails


    //check if its an ajax request, exit if not
    if(!isset($_SERVER['HTTP_X_REQUESTED_WITH']) AND strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest') {

        //exit script outputting json data
        $output = json_encode(
        array(
            'type'=>'error', 
            'text' => 'Request must come from Ajax'
        ));

        die($output);
    } 

    //check $_POST vars are set, exit if any missing
    if(!isset($_POST["userEmail"]))
    {
        $output = json_encode(array('type'=>'error', 'input' => 'Input fields are empty!'));
        die($output);
    }

    //Sanitize input data using PHP filter_var().
    $user_Email       = filter_var($_POST["userEmail"], FILTER_SANITIZE_EMAIL);

    //additional php validation

    if(!filter_var($user_Email, FILTER_VALIDATE_EMAIL)) //email validation
    {
        $output = json_encode(array('type'=>'error', 'input' => 'Please enter a valid email!'));
        die($output);
    }

    //proceed with PHP email.
    $headers = 'From: '.$user_Email.'' . "\r\n" .
    'Reply-To: '.$user_Email.'' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

    $sentMail = @mail($to_Email, $subject, $user_Firstname, $user_Last, $user_website, $user_address, $user_city, $user_state, $user_zip, $user_Phone, $user_Email, $user_organization, $user_lakename, $user_lakelocation, $user_LMB, $user_SMB, $user_CP, $user_NP, $user_BC, $user_WC, $user_CF, $user_SA, $user_SE, $user_TR, $user_AS, $user_YP, $user_WP, 
$user_CU, $user_S, $user_AF, $user_species, $user_derbydate, $user_derbytime, $user_Message, $user_Phone .'  -'.$user_Firstname, $headers);

    if(!$sentMail)
    {
        $output = json_encode(array('type'=>'error', 'text' => 'Could not send mail! Please check your PHP mail configuration.'));
        die($output);
    }else{
        $output = json_encode(array('type'=>'message', 'text' => 'Thank you '.$user_Name .'. Your derby will be listed within 24 hours.'));
        die($output);
    }
}
?>

我有什么遗漏吗?我用这种形式使用它:http://icefishingderbys.com/icefish/form/contact.html

【问题讨论】:

  • 您的系统有邮件服务器吗?你在 Windows 上运行吗?
  • 不,它是 Linux 托管,是的,我在托管公司 (godaddy) 有多个电子邮件地址

标签: php email send


【解决方案1】:

构建消息正文,而不是将每个表单字段作为参数发送给 mail()

http://php.net/manual/en/function.mail.php

【讨论】:

  • 我使用 PHP,但我不是开发人员,所以“简单”最适合我
猜你喜欢
  • 2016-05-10
  • 2020-03-25
  • 1970-01-01
  • 2017-01-25
  • 2014-09-08
  • 2014-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多