使用javamail、阿里云邮箱发送邮件

javaMail的maven坐标:

<!-- https://mvnrepository.com/artifact/javax.mail/mail -->
		<dependency>
			<groupId>javax.mail</groupId>
			<artifactId>mail</artifactId>
			<version>1.4</version>
		</dependency>


注意:

阿里云邮箱默认是开启了smtp,所以无需在阿里云邮箱设置这个(目前是这样的,2016.10.19);163邮箱普通用户是不能通过smtp协议发送邮件,除非是vip用户。


发送邮件代码:

package com.day24.JavaMail;

import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class MailTestForAliYunExample {
    public static void main(String[] args) throws MessagingException {
        Properties prop=new Properties();
        prop.put("mail.host","smtp.aliyun.com" );
        prop.put("mail.transport.protocol", "smtp");
        prop.put("mail.smtp.auth", "true");
        //使用java发送邮件5步骤
        //1.创建sesssion
        Session session=Session.getInstance(prop);
        //开启session的调试模式,可以查看当前邮件发送状态
        session.setDebug(true);


        //2.通过session获取Transport对象(发送邮件的核心API)
        Transport ts=session.getTransport();
        //3.通过邮件用户名密码链接,阿里云默认是开启个人邮箱pop3、smtp协议的,所以无需在阿里云邮箱里设置
        ts.connect("XXXX@aliyun.com", "password");


        //4.创建邮件

        Message msg=createSimpleMail(session);


        //5.发送电子邮件

        ts.sendMessage(msg, msg.getAllRecipients());
        }

         


        public static MimeMessage createSimpleMail(Session session) throws AddressException,MessagingException{
        //创建邮件对象
        MimeMessage mm=new MimeMessage(session);
        //设置发件人
        mm.setFrom(new InternetAddress("XXXX@aliyun.com"));
        //设置收件人
        mm.setRecipient(Message.RecipientType.TO, new InternetAddress("targetUser@163.com"));
        //设置抄送人
        mm.setRecipient(Message.RecipientType.CC, new InternetAddress("XXXX@qq.com"));

        mm.setSubject("XXX网站注册邮件!");
        mm.setContent("验证码为690", "text/html;charset=gbk");

        return mm;

        }
}



要在Java使用阿里云邮箱发送信息,你可以使用JavaMail API和阿里云的SMTP服务器。以下是使用Java代码发送邮件的基本步骤: 1. 首先,确保你已经在阿里云邮箱中创建了一个发件人账户。登录阿里云邮箱,进入“设置”-“POP3/SMTP服务”页面,启用SMTP服务并记下SMTP服务器地址。 2. 在Java应用程序中,使用JavaMail API连接到阿里云的SMTP服务器。 ```java Properties properties = new Properties(); properties.setProperty("mail.smtp.host", "smtp.mxhichina.com"); properties.setProperty("mail.smtp.auth", "true"); properties.setProperty("mail.smtp.starttls.enable", "true"); Session session = Session.getInstance(properties, new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("your-email@example.com", "your-password"); } }); try { Message message = new MimeMessage(session); message.setFrom(new InternetAddress("your-email@example.com")); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("recipient-email@example.com")); message.setSubject("邮件主题"); message.setText("邮件内容"); Transport.send(message); System.out.println("邮件发送成功"); } catch (Exception e) { System.out.println("邮件发送失败:" + e.getMessage()); } ``` 3. 将你的发件人邮箱地址和密码替换到代码中的`getPasswordAuthentication()`方法中的`your-email@example.com`和`your-password`。 4. 将收件人的邮箱地址替换到`setRecipients()`方法中的`recipient-email@example.com`。 5. 设置邮件的主题和内容。 6. 使用`Transport.send(message)`方法发送邮件。 7. 检查控制台输出,如果邮件发送成功,会打印"邮件发送成功",否则会打印发送失败的原因。 请注意,这只是一个基本的示例代码,实际使用时可能需要根据你的具体情况进行适当的修改。还要确保你的Java应用程序能够访问到阿里云的SMTP服务器。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值