提问者:小点点

在JavaMailSender中设置发件人名称


我正在使用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个答案

匿名用户

您需要按照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)实际上是如何设置的。而不是将from地址设置为类似的内容:

<代码>info@your-现场。com

将其设置为

您的网站

匿名用户

显示收件箱中显示自定义名称的电子邮件。我使用方法中的MimeMessageHelper类。需要两个字符串参数的那个。它按此顺序获取电子邮件地址和自定义名称

匿名用户

如果您使用的是SimpleMailMessage类(org.springframework.mail.SimpleMailMessage),您可以执行以下操作:

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