3.9.2.3. 配置电子邮件发送参数
使用下面列出的应用程序属性配置电子邮件发送参数。它们都是运行时参数并存储在数据库中,但对于特定的 Middleware 模块可以在其 app.properties
文件覆盖这些参数。
所有电子邮件发送参数均可通过 EmailerConfig
配置接口获取。
-
cuba.email.fromAddress
– 默认发件人地址。如果没有指定EmailInfo.from
属性时使用它。默认值:
DoNotReply@localhost
-
cuba.email.smtpHost
– SMTP 服务器的地址。默认值:
test.host
-
cuba.email.smtpPort
– SMTP 服务器的端口。默认值:
25
-
cuba.email.smtpAuthRequired
标记 SMTP 服务器是否需要身份认证。对应mail.smtp.auth
参数,该参数在创建javax.mail.Session
对象时传递。默认值:
false
-
cuba.email.smtpSslEnabled
标记 SMTP 是否启用了SSL
协议。对应于带有smtps
值的mail.transport.protocol
参数,该值在创建javax.mail.Session
对象时传递。默认值:
false
-
cuba.email.smtpStarttlsEnable
– 标记在 SMTP 服务器上进行身份验证时使用STARTTLS
命令。对应mail.smtp.starttls.enable
参数,该参数在创建javax.mail.Session
对象时传递。默认值:
false
-
cuba.email.smtpUser
– SMTP 服务器身份验证的用户名。
-
cuba.email.smtpPassword
– SMTP 服务器身份验证的用户密码。
-
cuba.email.delayCallCount
– 用于邮件的异步发送,以便在服务器启动后跳过对EmailManager.queueEmailsToSend()
的前几次调用,这样可以减少应用程序初始化期间的负荷。电子邮件发送将从下一次调用开始。默认值:
2
-
cuba.email.messageQueueCapacity
– 用于异步发送,从队列中读取并在调用一次EmailManager.queueEmailsToSend()
时发送的最大消息数。默认值:
100
-
cuba.email.defaultSendingAttemptsCount
用于异步发送,发送电子邮件的默认尝试次数。如果在调用Emailer.sendEmailAsync()
时未指定attemptsCount
参数则使用它。默认值:
10
-
cuba.email.maxSendingTimeSec
– 将电子邮件发送到 SMTP 服务器所需的最长预期时间(以秒为单位)。用于异步发送,优化从 DB 队列选择SendingMessage
对象。默认值:120
-
cuba.email.sendAllToAdmin
– 表示无论指定的收件人地址如何指定,都应将所有消息发送到 cuba.email.adminAddress 地址。建议在系统开发和调式期间使用此参数。默认值:
false
-
cuba.email.adminAddress
– 如果启用cuba.email.sendAllToAdmin
属性,则所有消息都会被发送到这个地址。默认值:
admin@localhost
-
cuba.emailerUserLogin
–系统用户的登录名,由异步电子邮件发送代码使用,以便能够将信息保存到数据库中。建议创建没有密码的单独的用户(例如,emailer
),这样的话此用户不能在用户界面使用用户名登录。这也便于在服务端日志中搜索与电子邮件发送相关的消息。默认值:
admin
-
cuba.email.exceptionReportEmailTemplateBody
- 异常报告邮件正文的*.gsp
模板路径。模板基于 Groovy 的
SimpleTemplateEngine
语法,因此可以在模板内容中使用 Groovy 代码块:-
toHtml()
方法通过转义和替换特殊符号将字符串转换为 HTML 字符串, -
timestamp
- 最后一次尝试发送电子邮件的日期, -
errorMessage
- 错误消息, -
stacktrace
- 错误的堆栈跟踪, -
user
-User
对象的引用。
模板文件的示例:
<html> <body> <p>${timestamp}</p> <p>${toHtml(errorMessage)}</p> <p>${toHtml(stacktrace)}</p> <p>User login: ${user.getLogin()}</p> </body> </html>
-
-
cuba.email.allowutf8
- 如设置为true
。允许在消息头中使用 UTF-8 编码,比如,邮件地址。该属性只有在邮件服务器也支持 UTF-8 时才能设置。对应于mail.mime.allowutf8
参数,在创建javax.mail.Session
对象时使用。默认值:
false
-
cuba.email.exceptionReportEmailTemplateSubject
- 异常报告邮件主题的*.gsp
模板路径。模板文件的示例:
[${systemId}] [${userLogin}] Exception Report
还可以使用 JavaMail API 中的属性,将它们添加到 core 模块的 app.properties
文件中。在创建 javax.mail.Session
对象时将传递 mail.*
属性。
可以使用 app-core.cuba:type=Emailer
JMX bean 查看当前参数值并发送测试消息。