2017-01-20 6 views
1

У меня есть несколько вопросов относительно отправки электронной почты на PHP. Последние несколько дней я работаю в Google, и у меня все еще есть проблемы с тем, чтобы это полностью работало.PHP Отправка электронной почты Проблемы

Мой первый вопрос: как изменить раздел «От» моего письма? У меня есть "To: [email protected]" в моем "из" раздела:

Я хотел бы иметь только правильное имя моего домена (например: "testingstuff.com" -> «Тестирование материалов»). Как я мог это достичь?

Как только я действительно открываю письмо, все в нем прекрасное и правильное, включая адрес электронной почты «[email protected]».

Также моя почта не будет отправляться на адреса gmail. Он появляется в моей почтовой очереди, и мои журналы говорят, что он отправлен, но он никогда не получен в моем gmail. Нужно ли мне принимать дополнительные меры для того, чтобы Google принял мою электронную почту? Если да, то что это? Предоставляются ли другим основным почтовым серверам те же самые шаги или они являются разными?

Это мой код до сих пор:

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', 1); 
ini_set("sendmail_from", "[email protected]"); 
class email { 
    public static function send($to, $subject, $message) { 
     $headers = "From: Testing Stuff <[email protected]>\r\n"; 
     $headers .= "Reply-To: [email protected]\r\n"; 
     $headers .= "Content-type: text/html\r\n"; 
     mail($to, $subject, $message, $headers); 
    } 
} 
?> 

Использование:

require_once("../mail.php"); 
email::send("[email protected]", "testing email subject", "testing email body"); 

ли я делаю что-то неправильно в моем коде?

+0

Вы проверили спам-папку в почтовом ящике gmail? Также '$ headers. = 'From: My Domain <[email protected]>'. "\ r \ n"; 'должен работать – Evochrome

+0

Возможный дубликат отправки почты PHP() в спам GMAIL] (http://stackoverflow.com/questions/12188334/php-mail-form-sending-to-gmail- спам) http://stackoverflow.com/questions/712392/send-email-using-the-gmail-smtp-server-from-a-php-page – zod

+4

Я бы рекомендовал использовать существующую библиотеку электронной почты, такую ​​как PHPMailer, Swift Mailer или аналогичные, и отправьте электронное письмо через ваш SMTP-сервер. Это, вероятно, решит обе проблемы из коробки. –

ответ

0

Вы должны проверить, если письмо будет отправлено правильно проверить результат почта(), таким образом:

$result = mail($to, $subject, $message, $headers); 
if(!$result) { 
    echo "Error"; 
} else { 
    echo "Success"; 
} 

это внутри статической функции, Также проверьте папку со спамом, если возвращение почты функции «успех».

+0

Это ничего не скажет о том, отправлено ли электронное письмо или нет, только если оно было успешно помещено в очередь электронной почты системы. Он все еще может выйти из строя, когда система пытается его отправить. –

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

  • Нет связанных вопросов^_^