PHPHub5 邮件发送过程是怎样的,需要依赖哪些东西才能正常发送?

我部署了一个phphub,想搭建个论坛,其他的都ok了,现在有个问题是邮件发送的问题,我确定我的配置是没有问题的。

MAIL_DRIVER=smtp
MAIL_HOST=smtpdm.aliyun.com
MAIL_PORT=25
MAIL_USERNAME=custom@****.com
MAIL_PASSWORD=*******
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=custom@*****.com
MAIL_FROM_NAME=****

希望有人能分享一下经验。我看源码应该是用了job队列。我对这两块不是很懂,是不是还有其他配置?

声明:我不是用homestead搭建的环境,是用自己的环境。不知道是不是缺少什么?

问题补充:

日志中的错误

local.ERROR: ErrorException: quoted_printable_encode() expects parameter 1 to be string, object given in /usr/share/nginx/phphub5/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/NativeQpContentEncoder.php:95 
Stack trace: #0 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2,'quoted_printabl...', '/usr/share/ngin...', 95, Array) 
#1 /usr/share/nginx/phphub5/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/NativeQpContentEncoder.php(95): quoted_printable_encode(Object(Naux\Mail\SendCloudTemplate)) 
...
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

自问自答吧,终于发现问题所在了,之前奉行“拿来主义”没有看源码。

$message->getSwiftMessage()->setBody(new SendCloudTemplate('template_active', [
                'name' => $user->name,
                'url'  => url('verification', $user->verification_token).'?email='.urlencode($user->email),
            ]));

源码中SendCloudTemplate类,是使用SendCloud提供的邮件服务,如果用SendCloud提供的邮件服务进行发送邮件,应该在.env文件中配置:

MAIL_DRIVER=sendcloud
SEND_CLOUD_USER=   # SendCloud 服务提供的 api_user
SEND_CLOUD_KEY=    # SendCloud 服务提供的  api_key

否则需要改源码,将new SendCloudTemplate的地方,变为自己拼接字符串的形式。

7年前 评论
讨论数量: 4

自问自答吧,终于发现问题所在了,之前奉行“拿来主义”没有看源码。

$message->getSwiftMessage()->setBody(new SendCloudTemplate('template_active', [
                'name' => $user->name,
                'url'  => url('verification', $user->verification_token).'?email='.urlencode($user->email),
            ]));

源码中SendCloudTemplate类,是使用SendCloud提供的邮件服务,如果用SendCloud提供的邮件服务进行发送邮件,应该在.env文件中配置:

MAIL_DRIVER=sendcloud
SEND_CLOUD_USER=   # SendCloud 服务提供的 api_user
SEND_CLOUD_KEY=    # SendCloud 服务提供的  api_key

否则需要改源码,将new SendCloudTemplate的地方,变为自己拼接字符串的形式。

7年前 评论
Summer

4.2 版本用的是 sendcloud ,因为基本上 PHPHub 项目的目的是为了服务于 LC 社区的,够用,也就没有做通用化处理。

7年前 评论

@Summer phphub5已经很屌了!markdown支持以及页面风格符合当前主流。discuz的源码,我根本理不出头绪,想改都不敢改。

7年前 评论

@KubiLi 仅仅加上配置 并不能正常工作是因为什么呢?

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!