配置CakePhp以使用SMTP发送邮件

安东尼·万乔希

为了安全起见,我的Web服务器已禁用邮件,我现在需要重新配置cakephp代码,以按照主机的建议通过SMTP发送电子邮件。

我的代码在启用了php邮件的本地主机上运行良好

use Cake\Mailer\Email;

class LoansController extends AppController

public function sendtestemail(){
$email = new Email();
$email->setViewVars(['name' => 'test test', 'subject'=>'subject test', 
'message'=>'testit']);
$email
->template('bulkemail')
->emailFormat('html')
->to('[email protected]')
->from('[email protected]')
->subject($subject)
->send();
}

错误:无法发送电子邮件:由于安全原因,已禁用mail()Cake \ Network \ Exception \ SocketException

卢卡斯矿

我的代码在启用了php邮件的本地主机上运行良好

它可以在localhost上正常工作,但不能在远程主机上正常工作,因为您的托管公司已将其禁用,并且您可能对其没有太多控制权。

要使用cakephp发送电子邮件,请使用Cakephp的Email类。3.在app.php的config文件夹下,在表EmailTransport中添加一个新条目。

您的情况是“ Smtp”。在其中指定主机,端口,用户名和密码:

'EmailTransport' => [
        'default' => [
            'className' => 'Smtp',
            // The following keys are used in SMTP transports
            'host' => 'localhost',
            'port' => 25,
            'timeout' => 30,
            'username' => 'user',
            'password' => 'secret',
            'client' => null,
            'tls' => null,
            'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null),
        ],
            ‘mail’=> [
                    'host' => 'smtp.gmail.com',
                    'port' => 587,
                    'username' =>xxxxx', //gmail id
                    'password' =>xxxxx, //gmail password
                    'tls' => true,
                    'className' => 'Smtp'
            ]
    ],

现在,在Controller中,发送电子邮件的功能使用上面transport()函数中编写的条目,如下所示。

在控制器中添加路径-使用Cake \ Mailer \ Email:

function sendEmail()
{           
           $message = "Hello User";            
            $email = new Email();
            $email->transport('mail');
            $email->from(['Sender_Email_id' => 'Sender Name'])
            ->to('Receiver_Email_id')
            ->subject(‘Test Subject’)
            ->attachments($path) //Path of attachment file
            ->send($message);

}

还请记住,许多托管公司还阻止默认的smtp端口。(例如,我知道数字海洋已经做到了)。因此,您可能必须更改该端口或与他们联系以为您打开该端口(通常在进行某种形式的验证之后)。

关于我刚刚回答的一些参考:https : //www.digitalocean.com/community/questions/digital-ocean-firewall-blocking-sending-email

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用smtp SendAsync发送邮件

来自分类Dev

动态配置SMTP在yii中发送邮件

来自分类Dev

配置SMTP服务器发送邮件

来自分类Dev

为什么在Gmail中使用localhost在Cakephp中发送邮件时,gmail smtp无法正常工作

来自分类Dev

我可以使用JavaMail通过特定接口发送SMTP邮件吗?

来自分类Dev

如何在wildfly swarm中为SMTP邮件配置出站套接字绑定以使用yaml?

来自分类Dev

无法在Codeigniter 3中使用SMTP gmail配置发送电子邮件

来自分类Dev

使用phpmailer smtp发送邮件的最快方法?

来自分类Dev

使用Indy和smtp发送邮件

来自分类Dev

使用swiftMailer SMTP和Debian发送邮件

来自分类Dev

使用 Gmail SMTP 发送邮件失败

来自分类Dev

使用smtp替换电子邮件配置

来自分类Dev

如何配置服务器以使用cPanel发送电子邮件?

来自分类Dev

配置Cognito用户池以使用SES发送电子邮件

来自分类Dev

配置Sendmail以使用STARTTLS通过Amazon SES发送电子邮件

来自分类Dev

使用CakePHP 3.0发送邮件

来自分类Dev

是否可以使用 JMS 发送邮件

来自分类Dev

Canot使用Codeigniter使用Mailgun SMTP发送邮件

来自分类Dev

如何使用docker配置exim发送邮件

来自分类Dev

Swiftmailer配置:使用gmail发送邮件

来自分类Dev

是否可以使用API(而非SMTP)发送Gmail

来自分类Dev

php使用gmail smtp发送电子邮件

来自分类Dev

使用luasocket SMTP和SSL发送电子邮件

来自分类Dev

如何使用PHP通过SMTP发送电子邮件

来自分类Dev

如何使用特殊字符“。”在telnet中发送邮件(smtp)。

来自分类Dev

在.NET中使用Google SMTP发送电子邮件

来自分类Dev

Laravel发送默认电子邮件(不使用SMTP)

来自分类Dev

在python中使用Google SMTP发送电子邮件

来自分类Dev

如何通过Promise(Bluebird)使用NodeMailer(非SMTP)发送邮件?

Related 相关文章

  1. 1

    使用smtp SendAsync发送邮件

  2. 2

    动态配置SMTP在yii中发送邮件

  3. 3

    配置SMTP服务器发送邮件

  4. 4

    为什么在Gmail中使用localhost在Cakephp中发送邮件时,gmail smtp无法正常工作

  5. 5

    我可以使用JavaMail通过特定接口发送SMTP邮件吗?

  6. 6

    如何在wildfly swarm中为SMTP邮件配置出站套接字绑定以使用yaml?

  7. 7

    无法在Codeigniter 3中使用SMTP gmail配置发送电子邮件

  8. 8

    使用phpmailer smtp发送邮件的最快方法?

  9. 9

    使用Indy和smtp发送邮件

  10. 10

    使用swiftMailer SMTP和Debian发送邮件

  11. 11

    使用 Gmail SMTP 发送邮件失败

  12. 12

    使用smtp替换电子邮件配置

  13. 13

    如何配置服务器以使用cPanel发送电子邮件?

  14. 14

    配置Cognito用户池以使用SES发送电子邮件

  15. 15

    配置Sendmail以使用STARTTLS通过Amazon SES发送电子邮件

  16. 16

    使用CakePHP 3.0发送邮件

  17. 17

    是否可以使用 JMS 发送邮件

  18. 18

    Canot使用Codeigniter使用Mailgun SMTP发送邮件

  19. 19

    如何使用docker配置exim发送邮件

  20. 20

    Swiftmailer配置:使用gmail发送邮件

  21. 21

    是否可以使用API(而非SMTP)发送Gmail

  22. 22

    php使用gmail smtp发送电子邮件

  23. 23

    使用luasocket SMTP和SSL发送电子邮件

  24. 24

    如何使用PHP通过SMTP发送电子邮件

  25. 25

    如何使用特殊字符“。”在telnet中发送邮件(smtp)。

  26. 26

    在.NET中使用Google SMTP发送电子邮件

  27. 27

    Laravel发送默认电子邮件(不使用SMTP)

  28. 28

    在python中使用Google SMTP发送电子邮件

  29. 29

    如何通过Promise(Bluebird)使用NodeMailer(非SMTP)发送邮件?

热门标签

归档