我在Spring FW上使用JavaMail。一切都很好,但我不知道爲什麼FROM地址總是錯的;它似乎忽略了它,並且說它確實來自哪裏。我想要的會在一瞬間變得更清晰。首先,這裏是我的代碼:Spring/Java Mail:FROM地址被忽略
CONFIG
<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類,有幾個屬性用於收集用戶的信息,聯繫我們窗體。當我發送電子郵件時,我正在看到與TO地址相同的FROM地址。我無法弄清楚的是,我是否需要在配置中進行一些更改,或者Gmail可能不允許我這樣做。想法,任何人?
可能重複:[春季郵件的MimeMessage有不正確的「從「set」(http://stackoverflow.com/a/9140611/1350869) –
謝謝,弗蘭克..就是這樣... Google sc在這個問題上給我留下了烙印。如果你添加該答案,那麼我會接受它 – Matt
可能重複[春天郵件MimeMessage有一個不正確的「發件人」設置](http://stackoverflow.com/questions/9140176/spring-mail-mimemessage-has-一個錯誤從設置) –