Skip to content

Instantly share code, notes, and snippets.

@ansig
Last active September 16, 2020 15:44
Show Gist options
  • Save ansig/fdb7fbfd66419a068077273a61f2d3cc to your computer and use it in GitHub Desktop.
Save ansig/fdb7fbfd66419a068077273a61f2d3cc to your computer and use it in GitHub Desktop.
Send a mail from Jenkins in Groovy Script Console
import javax.mail.Session
import javax.mail.Message
import javax.mail.Transport
import javax.mail.internet.MimeMessage
import javax.mail.internet.InternetAddress
def descriptor = Jenkins.instance.getDescriptor("hudson.tasks.Mailer")
Session session = descriptor.createSession();
MimeMessage msg = new MimeMessage(session);
InternetAddress fromAddress = new InternetAddress(descriptor.getAdminAddress());
msg.setFrom(fromAddress)
msg.setRecipients(MimeMessage.RecipientType.TO, (InternetAddress[]) [new InternetAddress('anders.sigfridsson@gmail.com')].toArray());
String charset = descriptor.getCharset();
msg.setSubject("Test", charset);
msg.setText("Hello from Jenkins!", charset)
Transport transporter = session.getTransport("smtp");
transporter.connect();
transporter.send(msg);
@atural91
Copy link

Hi,
I am getting this error could you please help:
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: No such field found: field java.lang.Class TO
17:23:33 at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.unclassifiedField(SandboxInterceptor.java:419)
17:23:33 at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:403)
17:23:33 at org.kohsuke.groovy.sandbox.impl.Checker$6.call(Checker.java:288)
17:23:33 at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:292)
17:23:33 at org.kohsuke.groovy.sandbox.impl.Checker$checkedGetProperty.callStatic(Unknown Source)
17:23:33 at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:56)
17:23:33 at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:194)
17:23:33 at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:230)
17:23:33 at Script1.run(Script1.groovy:40)
17:23:33 at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox.run(GroovySandbox.java:154)
17:23:33 at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SecureGroovyScript.evaluate(SecureGroovyScript.java:340)
17:23:33 at hudson.plugins.groovy.SystemGroovy.run(SystemGroovy.java:95)
17:23:33 at hudson.plugins.groovy.SystemGroovy.perform(SystemGroovy.java:59)
17:23:33 at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
17:23:33 at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
17:23:33 at hudson.model.Build$BuildExecution.build(Build.java:206)
17:23:33 at hudson.model.Build$BuildExecution.doRun(Build.java:163)
17:23:33 at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:504)
17:23:33 at hudson.model.Run.execute(Run.java:1810)
17:23:33 at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
17:23:33 at hudson.model.ResourceController.execute(ResourceController.java:97)
17:23:33 at hudson.model.Executor.run(Executor.java:429)

@atural91
Copy link

When i am using this script direct from execute system groovy command or from script console it works!
But when i put it to Config File Management and use this groovy file on job, it fails.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment