【发布时间】:2012-12-19 06:17:29
【问题描述】:
我在 Spring FW 中使用 JavaMail。一切都很好,但我不知道为什么 FROM 地址总是错误的;它似乎忽略了它,而是说它真正来自哪里。我想要的东西会在一瞬间变得清晰。首先,这是我的代码:
配置
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.gmail.com"/>
<property name="port" value="25"/>
<property name="username" value="[my gmail address]"/>
<property name="password" value="[my password]"/>
<property name="javaMailProperties">
<props>
<prop key="mail.transport.protocol">smtp</prop>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.starttls.enable">true</prop>
<!--<prop key="mail.debug">true</prop>-->
</props>
</property>
</bean>
助手类
@Service("mailService")
public class MailService {
@Autowired
private JavaMailSenderImpl mailSender;
public void sendMail(String from, String to, String subject, String body) {
try {
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setFrom(from);
helper.setTo(to);
helper.setSubject(subject);
helper.setText(body, true);
mailSender.send(message);
}
catch (MessagingException ex) {
Logger.getLogger(MailService.class.getName()).log(Level.SEVERE, null, ex);
}
}
//etc...
}
控制器代码片段
mailService.sendMail(
contactModel.getEmail(), //From
Constants.DefaultEmailAddress, //To
"Enquiry from site", "Phone: " + contactModel.getPhone() + "<br />Message: <br />" + contactModel.getMessage());
基本上,contactModel 是一个普通的 Java 类,具有一些用于在 联系我们 表单上收集用户信息的属性。当我发送电子邮件时,我目前看到 FROM 地址与 TO 地址相同。我不知道我是否需要对配置进行一些更改,或者 Gmail 是否可能不允许我这样做。有什么想法吗?
【问题讨论】:
-
谢谢,弗兰克.. 就是这样......谷歌把我搞砸了。如果您将其添加为答案,那么我会接受它
标签: java spring gmail jakarta-mail