Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Zend framework2 Sendgrid不允许未经身份验证的发件人错误php,zf2_Zend Framework2_Sendmail_Sendgrid - Fatal编程技术网

Zend framework2 Sendgrid不允许未经身份验证的发件人错误php,zf2

Zend framework2 Sendgrid不允许未经身份验证的发件人错误php,zf2,zend-framework2,sendmail,sendgrid,Zend Framework2,Sendmail,Sendgrid,我已经使用STMP API为我的Zend Framework 2应用程序集成了Sendgrid,并且使用了Zend Transport,但是我得到了一个错误 “捕获的异常:无法从指定地址接收:不允许未经身份验证的发件人” Sendgrid有一个api,该api由(免责声明:我是SlmMail的作者)实现。使用该API比使用旧的SMTP协议更容易使用 我不确定如何准确配置SMTP选项,但之前我们使用Google SMTP服务器,它需要以下配置: 'name' => 'gmail.com',

我已经使用STMP API为我的Zend Framework 2应用程序集成了Sendgrid,并且使用了Zend Transport,但是我得到了一个错误

“捕获的异常:无法从指定地址接收:不允许未经身份验证的发件人”


Sendgrid有一个api,该api由(免责声明:我是SlmMail的作者)实现。使用该API比使用旧的SMTP协议更容易使用

我不确定如何准确配置SMTP选项,但之前我们使用Google SMTP服务器,它需要以下配置:

'name' => 'gmail.com',
'host' => 'smtp.gmail.com',
'port' => 587,
'connection_class'  => 'login',
'connection_config' => array(
    'ssl'      => 'tls',
    'username' => $username,
    'password' => $password,
),

这与您的略有不同(“类”是“登录”,没有“身份验证”选项)。还请检查指定了所有SMTP选项的位置。

除了使用SimMail选项外,您还可以尝试使用Zend的邮件模块,如我们文档中所述:

另一个选项是我们的Web API,这里有一个PHP库:

试试这个

连接\u类平面应能正常工作

use Zend\Mail\Transport\Smtp as SmtpTransport;
use Zend\Mail\Transport\SmtpOptions;

            $transport = new SmtpTransport();
            $options   = new SmtpOptions(array(
                'name'              => $name,
                'host'              => $host,
                'port'              => 587,
                'connection_class'  => 'plain',
                'connection_config' => array(
                    'username' => $username,
                    'password' => $password,
                ),
            ));
            $transport->setOptions($options);
            $transport->send($mail);
use Zend\Mail\Transport\Smtp as SmtpTransport;
use Zend\Mail\Transport\SmtpOptions;

            $transport = new SmtpTransport();
            $options   = new SmtpOptions(array(
                'name'              => $name,
                'host'              => $host,
                'port'              => 587,
                'connection_class'  => 'plain',
                'connection_config' => array(
                    'username' => $username,
                    'password' => $password,
                ),
            ));
            $transport->setOptions($options);
            $transport->send($mail);