从SMTP远程服务器CakePHP 3发送电子邮件

时间:2015-05-03 23:08:22

标签: php email cakephp smtp

我在配置应用程序以从我的smtp服务器发送邮件时遇到一些问题,该服务器位于一个带有1and1的远程主机中。 我不知道我是否遗漏了一些东西:

  • 我已将app.php更改为托管服务提供商提供的值:

    'EmailTransport' => [
        'default' => [
            'className' => 'Mail',
            'host' => 'smtp.1and1.com',
            'port' =>'587' ,
            'timeout' => 30,
            'username' => 'me@dns.com',
            'password' => '******',
            'client' => null,
            'tls' => null,
        ],
    ],
    
    'Email' => [
        'default' => [
            'transport' => 'default',
            'from' => '@localhost',
            //'charset' => 'utf-8',
            //'headerCharset' => 'utf-8',
        ],
    ], 
    

在这里,您可以看到我的托管服务提供商提供的连接到他们的smtp服务器的说明。

smtp requiere comfig

我没有得到任何结果。  有没有人有一个想法,我可能会失踪?

3 个答案:

答案 0 :(得分:2)

我得到它的工作设置classname为'Mail',其余参数为默认值。请按以下步骤操作:

'EmailTransport' => [
        'default' => [
            'className' => 'Mail',
            // The following keys are used in SMTP transports
            'host' => 'localhost',
            'port' => 25,
            'timeout' => 30,
            'username' => 'user',
            'password' => 'secret',
            'client' => null,

        ],
    ],

答案 1 :(得分:1)

在我的情况下,只有className中存在问题。

使用gmail或office365服务器应该如此:

'EmailTransport' => [
        'default' => [
            'className' => 'Mail',
            // The following keys are used in SMTP transports
            'host' => 'smtp.office365.com',
            'port' => 587,
            'timeout' => 30,
            'username' => 'my@email.com',
            'password' => 'myPassword',
            'client' => null,
            'tls' => true,
            'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null),
        ],
    ],

答案 2 :(得分:0)

请执行以下操作:

//Adding Smtp information for sending mail through smtp instead of php mail function on local server / live server

'EmailTransport' => [
    'default' => [
        'className' => 'Smtp',
        'host' => 'smtp.1and1.com',
        'port' =>'587' ,
        'timeout' => 30,
        'username' => 'me@dns.com',
        'password' => '******',
        'client' => null,
        'tls' => null,
    ],
],

如果需要,您还可以启用'tls' => true