如何使用 Jenkins 和参数地址发送电子邮件?
How to send email with Jenkins and an parameter address?
我正在使用 Jenkins,我想在完成工作后发送一封电子邮件。我遇到的问题是我想将之前定义的用户名用于配置中的参数。我尝试使用 then ${username} 但我不工作。这是我得到的错误:
Sending e-mails to: ${username}@email.es
ERROR: Invalid Addresses
javax.mail.SendFailedException: Invalid Addresses;
nested exception is:
com.sun.mail.smtp.SMTPAddressFailedException: 550 5.1.1 <${username}@email.es>... User unknown
at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1835)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1098)
at javax.mail.Transport.send0(Transport.java:195)
at javax.mail.Transport.send(Transport.java:124)
at hudson.tasks.MailSender.run(MailSender.java:126)
at hudson.tasks.MailSender.execute(MailSender.java:101)
at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.cleanUp(MavenModuleSetBuild.java:1064)
at hudson.model.Run.execute(Run.java:1764)
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:531)
at hudson.model.ResourceController.execute(ResourceController.java:89)
at hudson.model.Executor.run(Executor.java:240)
Caused by: com.sun.mail.smtp.SMTPAddressFailedException: 550 5.1.1 <${username}@email.es>... User unknown
at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1686)
... 10 more
它没有取参数值。是否有任何插件或方法可以做到这一点?
感谢您的帮助。
而不是 ${username} - 使用 $username
例如:$用户名@$domain.com
这里username和domain是build的两个参数
(通过选择复选框定义-此构建已参数化)
为电子邮件通知配置 Jenkins 系统
为此:
"Jenkins Dashboard -> Manage Jenkins -> Configure System"
在页面底部-找到:电子邮件通知
然后提供电子邮件通知详细信息
我是这样配置的:
SMTP 服务器 : smtp.gmail.com
默认用户邮箱后缀:@gmail.com
select 复选框使用 smtp 身份验证
give: username (without @gmail.com) -eg: enter mike for mike@gmail.com
输入您的密码
Select 复选框使用 SSL
SMTP 端口:465
通过发送测试邮件来尝试您的电子邮件设置
如果你能发送成功。完成了
/* 在构建中 - 构建是参数化的 */
第一个参数
姓名 : 用户名
默认值:麦克
第二个参数
名称: 域名
默认值:gmail
//Post-构建操作-电子邮件通知
(只有安装了Mailer插件才能看到)
收件人:$用户名@$domain.com
这应该有效..
我'found'解决了。对于 Maven 项目,它不适用于 Build 属性中的简单电子邮件通知。我必须使用插件 'Ext-mail plugin' 来完成它。谢谢大家。
我正在使用 Jenkins,我想在完成工作后发送一封电子邮件。我遇到的问题是我想将之前定义的用户名用于配置中的参数。我尝试使用 then ${username} 但我不工作。这是我得到的错误:
Sending e-mails to: ${username}@email.es
ERROR: Invalid Addresses
javax.mail.SendFailedException: Invalid Addresses;
nested exception is:
com.sun.mail.smtp.SMTPAddressFailedException: 550 5.1.1 <${username}@email.es>... User unknown
at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1835)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1098)
at javax.mail.Transport.send0(Transport.java:195)
at javax.mail.Transport.send(Transport.java:124)
at hudson.tasks.MailSender.run(MailSender.java:126)
at hudson.tasks.MailSender.execute(MailSender.java:101)
at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.cleanUp(MavenModuleSetBuild.java:1064)
at hudson.model.Run.execute(Run.java:1764)
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:531)
at hudson.model.ResourceController.execute(ResourceController.java:89)
at hudson.model.Executor.run(Executor.java:240)
Caused by: com.sun.mail.smtp.SMTPAddressFailedException: 550 5.1.1 <${username}@email.es>... User unknown
at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1686)
... 10 more
它没有取参数值。是否有任何插件或方法可以做到这一点?
感谢您的帮助。
而不是 ${username} - 使用 $username
例如:$用户名@$domain.com
这里username和domain是build的两个参数 (通过选择复选框定义-此构建已参数化)
为电子邮件通知配置 Jenkins 系统
为此:
"Jenkins Dashboard -> Manage Jenkins -> Configure System"
在页面底部-找到:电子邮件通知
然后提供电子邮件通知详细信息
我是这样配置的:
SMTP 服务器 : smtp.gmail.com
默认用户邮箱后缀:@gmail.com
select 复选框使用 smtp 身份验证
give: username (without @gmail.com) -eg: enter mike for mike@gmail.com
输入您的密码
Select 复选框使用 SSL
SMTP 端口:465
通过发送测试邮件来尝试您的电子邮件设置
如果你能发送成功。完成了
/* 在构建中 - 构建是参数化的 */
第一个参数
姓名 : 用户名 默认值:麦克
第二个参数
名称: 域名 默认值:gmail
//Post-构建操作-电子邮件通知 (只有安装了Mailer插件才能看到)
收件人:$用户名@$domain.com
这应该有效..
我'found'解决了。对于 Maven 项目,它不适用于 Build 属性中的简单电子邮件通知。我必须使用插件 'Ext-mail plugin' 来完成它。谢谢大家。