首页 > 解决方案 > Symfony 1.4 sfMailer:配置 TLS 自签名

问题描述

看来我们需要在 Symfony 1.4 项目中配置邮件程序以使用自签名证书,但不知道在哪里查看

现在的配置:

mailer:
    class: sfMailer
    param:
      delivery_strategy:  realtime
      delivery_address:   user@mail.com
      transport:
        class: Swift_SmtpTransport
        param:
          host:       x.x.x.x
          port:       25
          encryption: ~
          username:   user@mail.com
          password:   pass

我在看这个问题:PHP - Swiftmailer using STARTTLS and selfsigned certificate

但是所有的例子都是关于 Laravel 的,而且它看起来很新,所以我不确定 Symfony 1.4 是否包含所有这些特性。

我还查看了邮件配置,但没有找到任何帮助。

关于如何在不触及供应商文件夹中的任何内容的情况下进行配置的任何帮助?

编辑:

所以这是新的配置:

mailer:
    class: sfMailer
    param:
      delivery_strategy:  realtime
      delivery_address:   user@mail.com
      transport:
        class: Swift_SmtpTransport
        param:
          host:       x.x.x.x
          port:       25
          encryption: ~
          username:   user@mail.com
          password:   pass
          streamOptions:
            ssl:
                allow_self_signed: true
                verify_peer: false
                local_cert: "/etc/ssl/certificate.cer"
                local_pk: "/etc/ssl/certificate.key"

标签: phpsymfonysymfony-1.4swiftmailer

解决方案


是的,您应该能够将这些流选项选项添加到传输的参数部分。如果我正确阅读了sfMailer类,它应该是这样的:

transport:
    class: Swift_SmtpTransport
    param:
        host:       x.x.x.x
        port:       25
        encryption: ~
        username:   user@mail.com
        password:   pass
        streamOptions:
            ssl:
                 allow_self_signed: true
                 verify_peer: false

推荐阅读