Java 如何使用gmail smtp发送邮件Spring实现?
如何使用gmail smtp发送邮件Spring实现 执行main方法后获取exeception 线程“main”java.lang.NoClassDefFoundError中出现异常:javax/activation/FileTypeMapJava 如何使用gmail smtp发送邮件Spring实现?,java,spring,email,gmail,Java,Spring,Email,Gmail,如何使用gmail smtp发送邮件Spring实现 执行main方法后获取exeception 线程“main”java.lang.NoClassDefFoundError中出现异常:javax/activation/FileTypeMap public static void main(String[] args) { JavaMailSenderImpl sender = new JavaMailSenderImpl(); sender.setHost("s
public static void main(String[] args) {
JavaMailSenderImpl sender = new JavaMailSenderImpl();
sender.setHost("smtp.gmail.com");
sender.setPort(25);
sender.setPassword("xxxxxxx");
sender.setUsername("businesscaliber@gmail.com");
MimeMessage message = sender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(message);
helper.setTo("yashwantchavan@gmail.com");
helper.setText("Thank you for ordering!");
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sender.send(message);
}
在将activation.jar放入类路径后,获取此异常
javax.mail.MessagingException: 530 5.7.0 Must issue a STARTTLS command first. 21sm3277189pzk.7
以下是一些示例:
据我所知,GMail只支持加密的SMTP,错误消息以一种相当迂回的方式告诉你。您需要将Spring配置为使用它而不是明文SMTP
请参阅前面的一个问题,该问题解释了如何配置
JavaMailSenderImpl
来实现这一点(不过我还没有亲自测试过)。在Saurabh post的一个简短修订版中,您可以简单地:
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl" p:host="smtp.gmail.com"
p:port="587" p:username="donotreply@host.com" p:password="aSmartPassWord">
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.starttls.enable">true</prop>
<prop key="mail.smtp.timeout">8500</prop>
</props>
</property>
</bean>
真的
真的
8500
您需要添加行:
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
sender.setJavaMailProperties(props);
Properties类是java.util.Properties
第一次你会得到错误“…请通过你的网络浏览器登录,然后再试一次…”,所以你需要去你的谷歌邮箱阅读新的信件。将有关闭安全设置的链接。执行方法后,在线程“main”java.lang.NoClassDefFoundError中获取以下异常:com.businesscalible.utility.Mailer.main(Mailer.java:13)上的javax/activation/FileTypeMap似乎类路径中缺少jar。。。activation.jar在那里吗?添加activation之后,jar获得另一个exeception javax.mail.MessagingException:530 5.7.0必须首先发出STARTTLS命令。21sm3277189pzk.7