diff --git a/_states/jenkins_smtp.py b/_states/jenkins_smtp.py
index 45f0244..b03b3a7 100644
--- a/_states/jenkins_smtp.py
+++ b/_states/jenkins_smtp.py
@@ -3,12 +3,11 @@
 logger = logging.getLogger(__name__)
 
 set_smtp_groovy = """\
-def result = ""
+def result = "FAILED"
 for(desc in [Jenkins.getInstance().getDescriptor("hudson.plugins.emailext.ExtendedEmailPublisher"),Jenkins.getInstance().getDescriptor("hudson.tasks.Mailer")]){
     if(desc.getSmtpServer().equals("${host}") &&
-       ((desc instanceof hudson.plugins.emailext.ExtendedEmailPublisherDescriptor && desc.getSmtpAuthUsername().equals("${username}")) ||
-        (desc instanceof hudson.tasks.Mailer$DescriptorImpl && desc.getSmtpAuthUserName().equals("${username}"))) &&
-       desc.getSmtpAuthPassword().toString().equals("${password}") &&
+       (desc instanceof hudson.tasks.Mailer$DescriptorImpl ? desc.getSmtpAuthUserName() : desc.getSmtpUsername()) == "${username}" &&
+       (desc instanceof hudson.tasks.Mailer$DescriptorImpl ? desc.getSmtpAuthPassword() : desc.getSmtpPassword().toString()) == "${password}" &&
        desc.getSmtpPort().equals("${port}") &&
        desc.getUseSsl() == ${ssl} &&
        desc.getCharset().equals("${charset}") &&
diff --git a/jenkins/files/config.xml.user b/jenkins/files/config.xml.user
index 67c09b9..59a18a2 100644
--- a/jenkins/files/config.xml.user
+++ b/jenkins/files/config.xml.user
@@ -1,7 +1,7 @@
 {%- set user = pillar.jenkins.master.user.get(user_name) -%}
 <?xml version='1.0' encoding='UTF-8'?>
 <user>
-  <fullName>admin</fullName>
+  <fullName>{{ user_name }}</fullName>
   <properties>
     <hudson.model.PaneStatusProperties>
       <collapsed/>
