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 查看当前参数值并发送测试消息。