2016-08-03 2 views
0

Я хочу отправить электронное письмо с сервера, когда кто-то отправит контактную форму. Вот пример php-кода.php mail() возвращает false

<?php 
if($_SERVER['REQUEST_METHOD'] == "POST"){ 

$name = strip_tags(trim($_POST['name'])); 
$email = strip_tags(trim($_POST['email'])); 
$dept = strip_tags(trim($_POST['dept'])); 
$message = strip_tags(trim($_POST['message'])); 

if((!isset($email) || empty($email)) || (!isset($name) || empty($name)) || (!isset($dept) || empty($dept)) || (!isset($message) || empty($message))){ 
    echo -1; 
    return; 
} 
if(filter_var($email, FILTER_VALIDATE_EMAIL)===false){ 
    echo -2; 
    return; 
} 

$to = 'faro[email protected]'; 
$email_subject = "Splendenti Eye Wear | Contact Us"; 
$email_body = "Contacted by\nName: $name\nEmail: $email\nDepartment: $dept\nMessage: $message"; 
$headers = "[email protected]\n"; // This is the email address the generated message will be from. We recommend using something like [email protected] 
$headers .= "Reply-To: ".$_POST['email']; 
if(mail($to,$email_subject,$email_body,$headers)){ 
    echo 1; // email sent 
} 
else{ 
    echo "failed to send email"; 
} 
}else{ 
echo "Invalid Request"; 
} 
?> 

но почтовая функция возвращает false. Может ли кто-нибудь руководствоваться?

+0

- это ваш сервер для настройки электронной почты (sendmail/smtp) –

+0

Как я могу проверить, что @SureshKamrushi? –

+0

[Читать документы] (http://php.net/manual/en/function.mail.php) и комментарии пользователей. – Synchro

ответ

0

Я предлагаю вам использовать PHPMailer для отправки электронных писем из ваших файлов PHP. Проверьте это link и загрузите его. Существует много документов о PHPMailer в Интернете. Вы можете управлять всеми подробностями о вашей почте с помощью PHPMailer.

-2

пытаются использовать @ для подавления предупреждений:

if(@mail($to,$email_subject,$email_body,$headers)){ 
    echo 1; // email sent 
} 

Если это не поможет вам иметь вопрос конфигурации.

+0

Thanks @Wolfgang –

+0

Это не устраняет проблему, она просто подавляет сообщение об ошибке. 'mail()' не генерирует исключений, поэтому использование try/catch ничего не сделает. – Synchro

+0

@ Синхро. Вы правы. удалил мое последнее изменение. Во всяком случае: я думаю, предупреждения onyl подавлены и не все ошибки. Возможно, вам стоит попытаться опубликовать ответ. – Wolfgang

Смежные вопросы