java 发送邮件的POM.xml
时间: 2023-10-23 11:20:07 浏览: 44
以下是使用 Java 发送邮件时所需的 POM 依赖:
```xml
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
```
请将上述代码添加到您的项目的 POM 文件中的 `<dependencies>` 标签中。这将为您的项目添加 JavaMail API 的依赖项,以便您可以发送邮件。
相关问题
java 邮件发送工具
Java的邮件发送工具是JavaMail API。可以使用JavaMail API来发送文本邮件、HTML邮件、带附件的邮件等。
在Java中,可以使用MimeMessage类和MimeMessageHelper类来创建并发送邮件。首先,需要添加依赖项javax.mail到项目的pom.xml文件中:
```
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4</version>
</dependency>
```
然后,可以使用以下代码来创建和发送邮件:
```java
import javax.mail.*;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessageHelper;
public class EmailSender {
public static void sendEmail(String to, String subject, String content, String from) {
// 创建Session对象
Session session = Session.getDefaultInstance(new Properties());
try {
// 创建MimeMessage对象
MimeMessage message = new MimeMessage(session);
// 设置发件人
message.setFrom(new InternetAddress(from));
// 设置收件人
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
// 设置主题
message.setSubject(subject);
// 设置内容
message.setContent(content, "text/html");
// 发送邮件
Transport.send(message);
System.out.println("邮件发送成功");
} catch (MessagingException e) {
System.err.println("邮件发送失败");
}
}
}
```
以上是一个简单的Java邮件发送工具类的示例。使用该工具类可以发送包含HTML代码的邮件。你可以调用`sendEmail`方法来发送邮件,其中`to`参数是收件人的邮箱地址,`subject`参数是邮件的主题,`content`参数是邮件的内容,`from`参数是发件人的邮箱地址。
Java通过freemarker模板 发送邮件
要使用Freemarker模板发送邮件,需要进行以下步骤:
1. 导入需要的依赖
在Maven项目中,需要在pom.xml文件中添加以下依赖:
```
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.7</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-tools</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
```
2. 编写Freemarker模板
比如我们可以编写一个简单的模板,如下:
```
<html>
<body>
<h1>Hello ${username}!</h1>
<p>Here is your message:</p>
<p>${message}</p>
</body>
</html>
```
在模板中,我们可以使用Freemarker的语法来动态生成HTML内容。
3. 编写Java代码
我们可以编写一个名为`EmailService`的Java类来发送邮件。
首先,我们需要创建一个`VelocityEngine`对象,来加载Freemarker模板:
```
VelocityEngine velocityEngine = new VelocityEngine();
velocityEngine.init();
```
然后,我们可以使用`VelocityEngine`对象来加载模板文件:
```
Template template = velocityEngine.getTemplate("email-template.vm");
```
接下来,我们需要创建一个`VelocityContext`对象,并将模板中需要填充的变量添加到该对象中:
```
VelocityContext context = new VelocityContext();
context.put("username", username);
context.put("message", message);
```
最后,我们可以使用`JavaMail`库来发送邮件:
```
Properties properties = new Properties();
properties.put("mail.smtp.host", "smtp.gmail.com");
properties.put("mail.smtp.port", "587");
properties.put("mail.smtp.auth", "true");
properties.put("mail.smtp.starttls.enable", "true");
Session session = Session.getInstance(properties, new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(fromEmail, password);
}
});
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(fromEmail));
message.setRecipient(Message.RecipientType.TO, new InternetAddress(toEmail));
message.setSubject(subject);
StringWriter writer = new StringWriter();
template.merge(context, writer);
MimeBodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setContent(writer.toString(), "text/html");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
message.setContent(multipart);
Transport.send(message);
```
在以上代码中,我们首先创建了一个`Properties`对象来配置邮件服务器的信息。然后,我们创建了一个`Session`对象,并使用`Authenticator`对象来进行SMTP认证。接着,我们创建了一个`MimeMessage`对象,并设置了邮件的发送者、接收者和主题。然后,我们将模板生成的HTML内容添加到`MimeBodyPart`对象中,最后将`MimeBodyPart`对象添加到`Multipart`对象中,并将`Multipart`对象设置为邮件的内容。最后,我们使用`Transport`对象的`send`方法来发送邮件。
这就是使用Freemarker模板发送邮件的基本步骤。