Как изменить адрес с помощью gmail smtp-сервера

Я хочу отправить электронное письмо от A до B с помощью HEADER и CONTENT через gmail.

Как это сделать с помощью PHP?

Я указал FROM (from@example.com), но когда я получаю электронное письмо, он по-прежнему из моей учетной записи gmail (abc@gmail.com).

снимок экрана с адреса http://img.ruphp.com/php/mail.jpg

$mail->From = "from@example.com"; $mail->FromName = "Mailer"; $mail->AddAddress("abc12@163.com", "Josh Adams");// name is optional $mail->AddReplyTo("abc12@qq.com", "Information"); 

Как изменить часть FROM ?

Solutions Collecting From Web of "Как изменить адрес с помощью gmail smtp-сервера"

Короткий ответ – вы не можете.

Google переписывает заголовки From и Reply-To в сообщениях, отправляемых через его SMTP-службу, в значения, относящиеся к вашей учетной записи gmail.

Функция SMTP для gmail не предназначена для службы open или relay. Если это допустило любые значения для заголовка From, это значительно снизило бы репутацию Google со спам-услугами, поскольку не было бы возможности проверить учетные данные отправителя.

Вам нужно рассмотреть альтернативы. Как вы планируете разместить свой скрипт / приложение / веб-сайт по окончании: практически все хостинговые решения (shared / vps / выделенный сервер) будут предварительно настроены с помощью решения электронной почты: будь то sendmail или postfix на * nix или IIS в Windows.

Если вы намерены использовать gmail, вы можете:

  • Настройте специальную учетную запись «myapp@gmail.com»
  • Если у вас есть домен, который вы якобы отправляете, используйте бесплатный gmail для доменов и настройте учетную запись «myapp@mydomain.com».

====

Изменить июнь 2015 г.

Было высказано предположение, что GMail позволяет отправлять по различным адресам . Насколько я могу судить, это для отправки через приложение GMail wep и использует существующий внешний SMTP-сервер, который не имеет отношения к исходному вопросу.

====

Изменить Ноябрь 2013

Увидев, что это все еще получает просачивание голосов. Быстрое обновление.

Google отозвал свой бесплатный GMail для доменов. Есть множество других бесплатных услуг. Одним из примечаний является Mandrill – почтовая служба «один к одному», предназначенная для транзакционных электронных писем (например, заказы электронной торговли и т. Д.). Он управляется MailChimp, который в значительной степени знает все, что нужно знать о отправке электронной почты на томе. Они также дают вам бесплатно 12k / месяц, что довольно приятно.

Этот вопрос и правильный ответ могут иметь значение:

При использовании Gmail для SMTP вы можете установить другой адрес «от»?

Gmail требует от вас подтверждения от адресов до отправки почты в качестве этого адреса электронной почты. Поэтому вам нужно добавить нового отправителя в свою личную учетную запись gmail и проверить его.

Это позволит вам пройти аутентификацию с помощью youremail@gmail.com и отправить электронное письмо с адреса электронной почты from@example.com.

В отличие от всех остальных, я сделаю предположение, что по буквам вы имеете в виду электронные письма …

Но я не уверен, что вы получаете, когда упоминаете, что он должен включать «Заголовки и контент». Вы хотите пересылать электронные письма? Вы хотите, чтобы сообщения электронной почты из A отображались так, как если бы они поступали из учетной записи g G в заголовках? Вы строите какой-то клиент Gmail?

Самый простой способ отправить электронное письмо с помощью PHP – это функция почты . Этот пример приведен прямо из их документации:

 $to = 'nobody@example.com'; $subject = 'the subject'; $message = 'hello'; $headers = 'From: webmaster@example.com' . "\r\n" . 'Reply-To: webmaster@example.com' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers); 

Если вы хотите, чтобы заголовки отображались в Gmail Gmail, а не просто для изменения параметра from / reply to part, вам нужно будет использовать gmail в качестве SMTP-сервера. Я не знаю, можете ли вы установить это на уровне скрипта.

Если причина, по которой вы хотите использовать gmail, заключается в том, что вы не хотите настраивать MTA (причина, указанная в комментарии к этому ответу), у вас есть 2 варианта:

  1. Если веб-сервер находится у вас дома / на рабочем месте; использовать smtp-сервер вашего ISP
  2. Если веб-сервер находится в выделенном центре хостинга, спросите их, какой smtp-сервер использовать.