【问题标题】:Set sender name in JavaMailSender在 JavaMailSender 中设置发件人名称
【发布时间】:2015-09-19 10:13:03
【问题描述】:

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

提前致谢

【问题讨论】:

    标签: java spring email


    【解决方案1】:

    您需要按照 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 &lt;info@your-site.com&gt;

    【讨论】:

    • 是否有意遗漏了结尾>?
    • 好收获。此问题已修复。
    • 不要挑剔,由于其他代码中缺少斜杠,我将失去 4 小时... :-)
    【解决方案2】:

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

    【讨论】:

    • 请始终显示示例代码。请记住,未来的访问者也会从您的回答中受益。有时,如果没有样本,这些答案就会失去相关性。
    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 2010-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-18
      • 1970-01-01
      • 2014-01-15
      • 2015-11-24
      相关资源
      最近更新 更多