如何使用gmail smtp发送邮件Spring实现?

Vic*_*cky 3 java email gmail spring

如何使用gmail smtp发送邮件Spring实现?

执行main方法后获取exeception异常在线程"main"java.lang.NoClassDefFoundError:javax/activation/FileTypeMap

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);
    }
Run Code Online (Sandbox Code Playgroud)

将activation.jar放在类路径中获取此异常之后

javax.mail.MessagingException: 530 5.7.0 Must issue a STARTTLS command first. 21sm3277189pzk.7
Run Code Online (Sandbox Code Playgroud)

bri*_*sou 7

在简短的修订版Saurabh帖子中,你可以简单地说:

<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>
Run Code Online (Sandbox Code Playgroud)