Java Email(实现邮件发送)

Email就是电子邮件,在Java中如何实现邮件的发送:

电子邮件从用户电脑的邮件软件,例如Outlook,发送到邮件服务器上,可能经过若干个邮件服务器的中转,最终到达对方邮件服务器上,收件方就可以用软件接收邮件: 

MUA --> MTA --> MTA --> MUA

我们把类似于Outlook这样的邮件软件称为 MUA:Mail User Agent,意思是给用户服务的邮件代理;邮件服务器则称为MTA:Mail TransferAgent,意思是邮件中转的代理;最终到达的邮件称为MDA :Mail Delivery Agent ,意思是邮件到达的代理。电子邮件一旦到达MDA,就不在动了。实际上,电子邮件通常就存储在MDA服务器的硬盘上,然后等收件人通过软件或者登陆浏览器查看邮件。

邮件协议:

1.POP3

POP3是Post Office Protocol 3的简称,即邮局协议的第三个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接受邮件服务器,用来接收电子邮件的。

2.SMTP

SMTP全称是"Simple Mail Transfer Protocol",即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过他来控制邮件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP服务器就是遵循SMTP协议的发送邮件服务器。
SMTP认证,就是要求必须在提供了账号名和密码之后才可以登录SMTP服务器,这就使得那些垃圾邮件的散播者无可乘之机。

增加SMTP认证的目的就是为了使用户避免受到垃圾文件的侵扰。

3.IMAP


IMAP(Internet Mail Access Protocol),即交互式邮件存取协议,它与POP3类似。与POP3不同的是,开启了IMAP后,您在电子邮件客户端收取的邮件仍然保留在服务器上,同时在客户端上的操作都会反馈到服务器上,如:删除邮件、标记已读等,服务器上的邮件也会做相应的动作。所以无论从浏览器登录邮箱或者客户端软件登录邮箱,看到的邮件以及状态都是一致的。


IMAP与POP3有什么区别?


POP3协议允许电

  • 8
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 可以使用 JavaMail API 实现邮件发送功能。以下是一个简单的代码示例: ``` import java.util.Properties; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class MailSender { public static void main(String[] args) { final String username = "your-email@example.com"; // 替换为你的邮箱用户名 final String password = "your-password"; // 替换为你的邮箱密码 Properties props = new Properties(); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.starttls.enable", "true"); props.put("mail.smtp.host", "smtp.example.com"); // 替换为你的 SMTP 服务器地址 props.put("mail.smtp.port", "587"); // 替换为你的 SMTP 端口号 Session session = Session.getInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, 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("Test Email"); message.setText("This is a test email sent from Java."); Transport.send(message); System.out.println("Email sent successfully."); } catch (MessagingException e) { throw new RuntimeException(e); } } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值