在JavaMailSender中设置发件人名称

时间:2015-09-19 10:13:03

标签: java spring email

我使用JavaMailSender通过我的Gmail帐户向我的客户发送电子邮件。 在我的Gmail帐户设置中,我可以将值设置为"发送邮件为"为了在我的客户电子邮件中显示我的自定义名称。 例如,如果我在Gmail中发送电子邮件,我的客户电子邮件将显示:

  

发件人:这是我的自定义名称(不是我的电子邮件地址)

     

致:client-email@mail.com

     

主题......

     

身体......

如何在Spring中设置JavaMailSender的配置?

这是我的配置文件:

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
  <property name="host" value="smtp.gmail.com" />
    <property name="port" value="587" />
    <property name="username" value="myemailaddress@gmail.com" />
    <property name="password" value="mypassword@gmail.com" />

    <property name="javaMailProperties">
       <props>
              <prop key="mail.smtp.auth">true</prop>
              <prop key="mail.smtp.starttls.enable">true</prop>
           </props>
    </property>
 </bean>

提前感谢

3 个答案:

答案 0 :(得分:2)

显示收件箱中显示的具有自定义名称的电子邮件。我从方法中使用MimeMessageHelper类。一个需要两个String参数。电子邮件地址和自定义名称按此顺序

答案 1 :(得分:0)

您需要使用mumbasa建议的MimeMessageHelper。您可以像这样配置它

MimeMessageHelper message = new MimeMessageHelper(mimeMessage, "UTF-8");
message.setTo(...);
message.setFrom("Your Site <info@your-site.com>");
message.setSubject(...);

请注意实际上是如何设置message.setFrom(String from)的。而不是将发件人地址设置为:

info@your-site.com

设置为

Your Site <info@your-site.com>

答案 2 :(得分:0)

如果您使用的是 SimpleMailMessage 类(org.springframework.mail.SimpleMailMessage) 你可以做:

simpleMailMessage.setFrom("email@mail.com");