用java发送电子邮件
最后修改:2020年2月12日
1.概述
在这个快速的教程中,我们将查看使用核心Java邮件库发送带有和没有附件的电子邮件。
2.项目设置和依赖
对于本文,我们将使用简单的基于Maven的项目,并在Java邮件库上具有依赖项:
<依赖项> javax.mail groupID> 邮件 ARTIFACTID> 1.5.0-B01 Version> 依赖项>
可以找到最新版本这里。
3.发送纯文本和HTML电子邮件
首先,我们需要使用我们的电子邮件服务提供商的凭据配置库。然后,我们将创建一个会议那将用于构建我们的发送消息。
配置通过Java特性目的:
属性prop =新属性();prop.put(“mail.smtp.auth”,true);prop.put(“mail.smtp.starttls.enable”,“true”);prop.put(“mail.smtp.host”,“smtp.mailtrap.io”);prop.put(“mail.smtp.port”,“25”);prop.put(“mail.smtp.ssl.trust”,“smtp.mailtrap.io”);
在上面的属性配置中,我们将电子邮件主机配置为MailTrap并使用服务提供的端口。
现在让我们通过使用我们的用户名和密码创建会话进一步移动:
会话会话= session.getInstance(Prop,New Authenticator(){@Override受保护的PasswordAuthentication GetPordwordweUthentication(){返回新的PasswordAuthentication(用户名,密码);}});
用户名和密码由邮件服务提供商提供主机和端口参数。
现在我们有一封邮件会议对象,让我们创建一个哑剧信息发送:
消息消息=新的MimeMessage(会话);message.setfrom(新的InternetAddress(“[电子邮件受保护]“)); message.setrecipients(message.recipienttype.to,InternetAddress.parse(”[电子邮件受保护]“); message.setsubject(”邮件主题“); string msg =”这是我使用javamailer的第一个电子邮件“; mimebodypart mimebodypart = new mimebodypart(); mimebodypart.setContent(msg,”text / html“); multipart multipart= new mimemultipart(); multipart.addbodypart(mimebodypart); message.setContent(multipart); transport.send(消息);
在上面的片段中,我们首先创造了一个信息实例具有必要的属性 - 来自和主题。其次是A.mimebodypart.那是一个编码文字/ html,由于我们的消息是在HTML中的风格。
我们所做的一件事是创建一个实例mimemultipart.我们可以用来包装的对象mimebodypart.我们创建了。
最后,我们设置了多零对象作为我们的内容信息并使用发送()的运输对象要做邮件发送。
所以,我们可以说mimebodypart.包含在多零包含在的信息。因此,A多零可以包含多个mimebodypart.。
这将是下一节的重点。
4.用附件发送电子邮件
接下来,要发送一个附件,我们只需要创建另一个mimebodypart.并将文件附加到它:
mimebodypart附件bodypart= new mimebodypart();附件Bodypart.AttachFile(新文件(“路径/到/文件”));
然后我们可以将新的身体部位添加到mimemultipart.我们之前创建的对象:
multipart.addbodypart(附件Bodypart);
这就是我们需要做的一切。
再一次,我们设置了多零实例作为内容信息对象,最后我们将使用发送()要做邮件发送。
结论
总之,我们已经看到了如何使用本机Java邮件库即使是附件也要发送电子邮件。
一如既往,可以使用完整的源代码在github上。