Yii2 отправка почты: из электронной почты не отображается - PullRequest
0 голосов
/ 11 ноября 2019

Я хочу отправлять электронные письма через электронную почту своего хоста, которая является: admin@b4p.et

Я передаю это письмо с идентификатором электронной почты, но это отправка писем с имени пользователя SMTP, которое я настроил совместно/config/main.php

Ниже приведены мои почтовые конфигурации в общем / config / main.php:

'mailer' => [
        'class' => 'yii\swiftmailer\Mailer',
        'viewPath' => '@common/mail',
        'useFileTransport' => false,
        'transport' => [
            'class' => 'Swift_SmtpTransport',
            'host' => 'smtp.gmail.com',
            'username' => 'chiefsrsmail@gmail.com',
            'password' => '*********',
            'port' => '587',
            'encryption' => 'tls',
        ],
    ],

И вот моя функция отправки почты:

 public static function sendMailToUser($ssToEmail, $asFromEmail, $ssSubject, $ssBody, $attach = false)
    {
        $result = Yii::$app->mail->compose()
            ->setFrom([$asFromEmail])
            ->setTo($ssToEmail)
            ->setSubject($ssSubject)
            ->setHtmlBody($ssBody)
            ->send();
        return true;
    }

В котором я передаю:

$asFromEmail = admin@b4p.et

Эта функция отлично работает для отправки электронных писем, но все электронные письма проходят через "chiefsrsmail@gmail.com" означает, что все электронные письма берут с адреса электронной почты от имени пользователя SMTP, которое япредоставил в конфигурации. Я хочу изменить его, но он не работает.

Пожалуйста, помогите мне выйти из этого.

1 Ответ

1 голос
/ 11 ноября 2019

Gmail автоматически перезаписывает заголовок «from» всех сообщений, отправляемых через SMTP-сервер, на адрес электронной почты по умолчанию «Send mail as», назначенный в учетной записи Gmail или Служб Google, используемой для проверки подлинности (в данном случае, в вашей личной учетной записи).

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

Эта служба SMTP предназначена только для личного использования, поэтому еене очень гибкий. Мы можем изменить этот адрес, изменив учетную запись по умолчанию в настройках Gmail, но это по-прежнему не позволит нам настроить адрес «из» через приложение.

Чтобы добавить еще одну электронную почту в учетную запись Gmail, выполните следующие действия. :

На вашем компьютере откройте Gmail.

  • В правом верхнем углу нажмите Настройки, затем Настройки.
  • Откройте вкладку Аккаунты и импорт или Аккаунты.
  • В разделе «Отправить письмо как» нажмите Добавить еще один адрес электронной почты.
  • Введите свое имя и адрес, с которого хотите отправить сообщение.
  • Нажмите «Следующий шаг», а затемОтправьте подтверждение.
  • Нажмите Добавить учетную запись.

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

Попробуйте новый адрес электронной почты сейчас в

->SetFrom("verified_mail_address@gmail.com", 'from_name');, и он будет работать нормально.

Чтобы добавитьеще одно письмо на учетную запись Gmail, перейдите по этой ссылке: https://support.google.com/mail/answer/22370?hl=en

...