2014-09-26 2 views
1

Я пытаюсь сделать одну замечательную форму для проекта, над которым я работаю, но я так много борюсь, чтобы правильно «отправить из». Нет идей, что с этим связано или это просто значит быть таким?PHPMailer - Как правильно «послать от»

Посмотрите на части моего кода, а затем на скриншот GMail с отредактированным «источником», чтобы скрыть фактические электронные письма и т. Д.

Часть конфигурации(отредактирован, чтобы соответствовать данным скриншот)

$config_mail = array(
    'MAIL_FROM'     => '[email protected]', 
    'MAIL_NAME'     => 'Company Name', 
    'MAIL_SMTP_HOST'   => 'smtp.gmail.com', 
    'MAIL_SMTP_PORT'   => 587, 
    'MAIL_SMTP_SECURE'   => 'tls', 
    'MAIL_SMTP_AUTH'   => true, 
    'MAIL_SMTP_USER'   => '[email protected]', 
    'MAIL_SMTP_PASS'   => '*******' 
); 

Часть PHPMailer

// Add a "Reply-to" address. 
$mail->addReplyTo($form_email, $form_name); 
// Set the From and FromName properties 
$mail->setFrom($form_email, $form_name); 
// Add a "To" address. 
$mail->addAddress($config_mail['MAIL_FROM'], $config_mail['MAIL_NAME']); 

Скриншот(с указанием проблемы в объяснении ниже) gmail edit screenshot

Issue объяснение Вы можете видеть на изображении, что от неверен, поэтому мне пришлось использовать $ REPLYTO, но она по-прежнему кажется, что проблема для меня. Может быть, так должно быть, так как его отправляют с сервера с помощью SMTP, но я все еще хочу знать, почему это так, и можно ли его изменить?

Я считаю, что эту линию:

from: Sender Name <[email protected]> 

Должно быть, как это, вместо того, чтобы:

from: Sender Name <[email protected]> 

Так я ошибаюсь, или это должно быть так? Я попытался подробно объяснить свою проблему, надеюсь, я получу качественный ответ, потому что я действительно не понимаю!

ответ

2

Gmail отправляет отправителя аутентифицированным пользователям все, что вы пытаетесь установить на любом используемом языке программирования. Такое поведение является особенностью.

+0

Ммм, хорошо, если это так. Означает ли это, что если я настрою электронную почту своего домена, например: [email protected], то я действительно получу правильное «от», а не «smtp from»? – dvLden

+0

@ dvLden, если ваш домен разрешает устанавливать определенный «из» (в отличие от Gmail), он должен работать правильно. –

+0

Он работает, если либо gmail обрабатывает ваш домен, либо если вы авторизировали отдельные адреса «от». – Synchro

1

попробовать это:

//Create a new PHPMailer instance 
$mail = new PHPMailer(); 
//Set who the message is to be sent from 
$mail->setFrom('[email protected]', 'First Last'); 
//Set an alternative reply-to address 
$mail->addReplyTo('[email protected]', 'First Last'); 
//Set who the message is to be sent to 
$mail->addAddress('[email protected]', 'John Doe'); 
//Set the subject line 
$mail->Subject = 'PHPMailer mail() test'; 
//Read an HTML message body from an external file, convert referenced images to embedded, 
//convert HTML into a basic plain-text alternative body 
$mail->msgHTML(file_get_contents('contents.html'), dirname(__FILE__)); 
//Replace the plain text body with one created manually 
$mail->AltBody = 'This is a plain-text message body'; 
//Attach an image file 
$mail->addAttachment('images/phpmailer_mini.png'); 

//send the message, check for errors 
if (!$mail->send()) { 
    echo "Mailer Error: " . $mail->ErrorInfo; 
} else { 
    echo "Message sent!"; 
} 
+0

Мне не нужен пример PHPMailer mate – dvLden

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