PHPMailer — Как получить & quot; отправлено с & quot; правильно

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

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

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

$config_mail = array(
'MAIL_FROM'                 => 'recipient.mail@example.com',
'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'            => 'server.smtp@gmail.com',
'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

Объяснение проблемы
На изображении видно, что значение from неверно, поэтому мне пришлось использовать $ replyTo, но это все еще кажется мне проблемой. Может быть, это так, поскольку он отправляется с сервера с использованием SMTP, но я все еще хочу знать, почему это так, и возможно ли это изменить?

Я верю этой строке:

from: Sender Name <server.smtp@gmail.com>

Должно быть так:

from: Sender Name <sender.mail@example.com>

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

1

Решение

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

2

Другие решения

попробуй это:

//Create a new PHPMailer instance
$mail = new PHPMailer();
//Set who the message is to be sent from
$mail->setFrom('from@example.com', 'First Last');
//Set an alternative reply-to address
$mail->addReplyTo('replyto@example.com', 'First Last');
//Set who the message is to be sent to
$mail->addAddress('whoto@example.com', '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!";
}
1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector