1

我在通过 cake php 2.7 发送电子邮件时遇到问题。好吧,电子邮件被转发到所需的电子邮件地址,但在获取发件人电子邮件地址时出现问题,因为我正在获取配置电子邮件地址来代替发件人电子邮件地址。我在获取如何解决此问题时遇到问题。如果有人能就这个问题提出任何建议,我们将不胜感激。

部分代码如下:

页面控制器

public function sendEmail($data) {
    $email = new CakeEmail();
    $email->config('gmail');
    $email->emailFormat('html');
    $email->sender($data['User']['email_address'],$data['User']['name']);
    $email->from(array($data['User']['email_address'] => $data['User']['name']));   
    $email->to('configuration_email');
    $email->replyTo($data['User']['email_address']);
    $email->subject($data['User']['subject']);
    $message = 'Name: '.$data['User']['name'].'<br> How Did You Hear: '. $data['User']['how_did_you_hear'].
            '<br>Message: '.$data['User']['body'];

    if ($email->send($message))
    {
        return true;
    }else {
        return false;
    }
  }

电子邮件.php

public $gmail = array(
        'host' => 'ssl://smtp.gmail.com',
        'port' => 465,
        'username' => 'configuration_email',
        'password' => 'password',       
        'transport' => 'Smtp'
        );

“发件人”字段使用配置电子邮件,而不是使用 $data['User']['email']。

先感谢您!

4

1 回答 1

0

仅当您已经拥有该电子邮件帐户并且已在您的 Gmail 帐户中正确注册时,Gmail 才允许您代表不同于您的 Gmail 地址的电子邮件地址发送邮件。

Gmail中描述了说明:从不同的地址或别名发送邮件

我是从外部地址发送邮件的 Gmail 或 Google Apps 用户。

  • 点击右上角的齿轮。
  • 选择设置

    1. 单击帐户和导入选项卡。
    2. 在发送邮件为下,单击添加另一个电子邮件地址
    3. 在“电子邮件地址”字段中,输入您的姓名和您拥有的备用电子邮件地址。
    4. 输入 SMTP 服务器(例如 smtp.domain.com)、您在该域上的用户名以及该帐户的密码。您可能还需要调整您的端口设置或 SSL 设置(如果您需要此信息,请与您的其他 ISP 联系)。
    5. 点击添加账户>>
    6. 打开您的其他帐户,然后单击 Gmail 发送的消息中的链接,或在 Gmail 设置的“帐户和导入”部分输入确认代码。

      • 如果 Gmail 发送了一封验证电子邮件而您没有收到,请尝试检查您的垃圾邮件或批量邮件文件夹中是否有一封来自 account-verification-noreply@google.com 的邮件,以查看该电子邮件是否最终在其中。
于 2015-12-06T10:52:04.237 回答