Я пытаюсь создать одну отличную форму для проекта, над которым я работаю, но я изо всех сил пытаюсь получить правильное «свойство отправки». Нет идей, что с этим происходит или это просто так?
Посмотрите на части моего кода и затем скриншот 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']);
Скриншот (изложение проблемы в объяснении ниже)
Объяснение проблемы
На изображении видно, что значение from неверно, поэтому мне пришлось использовать $ replyTo, но это все еще кажется мне проблемой. Может быть, это так, поскольку он отправляется с сервера с использованием SMTP, но я все еще хочу знать, почему это так, и возможно ли это изменить?
Я верю этой строке:
from: Sender Name <[email protected]>
Должно быть так:
from: Sender Name <[email protected]>
Так я не прав или так должно быть? Я попытался объяснить мою проблему подробно, надеюсь, я получу качественный ответ на нее, потому что я действительно не понимаю!
Gmail заставляет отправителя аутентифицированному пользователю установить любой язык программирования, который вы используете. Такое поведение является особенностью.
попробуй это:
//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!";
}