gpt4 book ai didi

wordpress - Quercus + WordPress 电子邮件配置

转载 作者:行者123 更新时间:2023-11-28 23:29:26 25 4
gpt4 key购买 nike

我正在使用 jWordPress,它将 Quercus 和 JavaMail 1.4.1 与 WordPress 4.2.2 结合在一个 WAR 文件中,该文件在 Windows 上的 Tomcat 下执行。我在配置外发电子邮件服务时遇到问题:默认情况下,Quercus 尝试联系本地主机端口 25 上的 SMTP 服务器,但失败了。

在 WAR 文件中,Quercus 通过 WEB-INF/web.xml 配置,除其他设置外,还有以下设置(我在原始文件中取消注释):

<init-param>
<param-name>ini-file</param-name>
<param-value>WEB-INF/php.ini</param-value>
</init-param>

我为 AWS SES 创建了一个包含以下设置的 WEB-INF/php.ini 文件,它可以在不同的应用程序中与 JavaMail 一起正常工作(请注意,这是端口 587 上经过身份验证的 STARTTLS 连接):

[PHP]
[mail function]
SMTP = <address of the AWS SES SMTP host>
smtp_port = 587
smtp_username = <AWS SES username>
smtp_password = <AWS SES password>
sendmail_from = <a 'no-reply' email address>

上述参数的名称对应于 Quercus 的 MailModule 中的名称:

https://github.com/moriyoshi/quercus-gae/blob/master/src/main/java/com/caucho/quercus/lib/MailModule.java

WEB-INF/web.xml 文件似乎是在启动时处理的,因为如果其中引入错误,它们会反射(reflect)在 Tomcat 日志和 WordPress 操作中。但是,日志中没有迹象表明 WEB-INF/php.ini 已被读取或处理。

WordPress 似乎工作正常。 WP 外发电子邮件的一个简单测试是单击 Meta 下的“登录”,然后单击“丢失密码?”,输入 WP 用户名并单击“获取新密码”。这会导致 Tomcat 日志中出现以下警告:

10-Sep-2015 09:57:47.836 WARNING [http-nio-8080-exec-4] com.caucho.quercus.lib.mail.MailModule.mail Quercus[] mail could not send mail to '<user email address>'

Could not connect to SMTP host: localhost, port: 25

所以,看起来 Quercus MailModule 没有看到来自 php.ini 的设置。我该如何解决这个问题?

附言请不要建议需要在本地主机的端口 25 上安装 sendmail 或类似工具的变通解决方案。

最佳答案

嗯,原来是

中指定的php.ini文件
<init-param>
<param-name>ini-file</param-name>
<param-value>WEB-INF/php.ini</param-value>
</init-param>

必须有一个绝对路径,而不仅仅是 WEB-INF/php.ini,例如

C:/Program Files/Apache/Tomcat/.../WEB-INF/php.ini

(我试验了多个相对路径都没有用。)这样就解决了文件读不出来的问题。

但是,另一个问题出现了:php.ini 中的'sendmail_from'设置没有效果。查看上面链接中的 Quercus MailModule 代码,如果附加 header 中有“from”设置,则会使用它,而根本不会使用“sendmail_from”设置。

无论配置的管理员电子邮件地址设置如何,Wordpress 似乎都使用“wordpress@localhost”。当此地址与远程 SMTP 主机一起使用时,电子邮件要么被拒绝 (AWS SES),要么被接受但静默丢弃 (Comcast)。我将把它作为一个单独的问题发布到 SO 上。

关于wordpress - Quercus + WordPress 电子邮件配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32504413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com