Yii2发送邮件:电子邮件不显示

时间:2019-11-11 07:44:31

标签: php yii2 smtp sendmail swiftmailer

我想通过我的主机电子邮件admin@b4p.et

发送电子邮件

我已经通过电子邮件ID传递了此电子邮件,但这是从我在common / config / main.php中配置的SMTP用户名发送邮件

以下是我在common / 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 个答案:

答案 0 :(得分:1)

Gmail会自动将通过其SMTP服务器发送的所有邮件的“从”标头改写为用于身份验证的Gmail或Google Apps帐户(在这种情况下为您的个人帐户)中分配的默认“发送为”电子邮件地址。

如果Gmail未注册到主要gmail帐户,则似乎不允许通过其他电子邮件ID发送电子邮件。

此SMTP服务仅供个人使用,因此它不是非常灵活。我们可以通过修改Gmail设置中的默认帐户来更改此地址,但这仍然无法使我们通过应用程序配置“发件人”地址。

要将其他电子邮件添加到Gmail帐户,请执行以下步骤:

在计算机上,打开Gmail。

  • 在右上角,依次单击“设置设置”和“设置”。
  • 点击“帐户并导入”或“帐户”标签。
  • 在“发送邮件为”部分中,单击“添加其他电子邮件地址”。
  • 输入您的姓名和您要发送的地址。
  • 点击下一步,然后发送验证。
  • 点击添加帐户。

确认链接已发送到其他电子邮件帐户。 确认后,您的帐户可以从任何一个地址发送电子邮件。

立即尝试使用新的电子邮件地址

->SetFrom("verified_mail_address@gmail.com", 'from_name');,它将正常工作。

要将其他电子邮件添加到Gmail帐户,请参考以下链接:https://support.google.com/mail/answer/22370?hl=en