java 发邮件,怎么设置发信人头像,头像要求可以是图片链接
时间: 2024-02-27 22:52:51 浏览: 289
java邮件群发代码
5星 · 资源好评率100%
在 Java 中发送邮件时,可以使用 JavaMail 库来设置发信人头像。要设置发信人头像,需要在邮件的 HTML 内容中嵌入一张图片,然后在邮件头部添加相应的 MIME 头部信息。
以下是一个简单的 JavaMail 发送邮件的例子,其中设置了发信人头像:
```java
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
public class SendMail {
public static void main(String[] args) {
final String username = "你的邮箱地址";
final String password = "你的邮箱密码";
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "587");
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(username));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse("收件人邮箱地址"));
message.setSubject("邮件主题");
// 设置邮件内容,包括 HTML 内容和头像图片
String htmlContent = "<html><body><h1>邮件内容</h1><img src=\"头像图片链接\"></body></html>";
message.setContent(htmlContent, "text/html; charset=utf-8");
// 设置头像图片的 MIME 头部信息
MimeBodyPart avatarPart = new MimeBodyPart();
avatarPart.setHeader("Content-ID", "<avatar>");
avatarPart.setHeader("Content-Type", "image/png");
avatarPart.setHeader("Content-Disposition", "inline");
avatarPart.setContentID("<avatar>");
avatarPart.setDisposition(MimeBodyPart.INLINE);
avatarPart.attachFile("头像图片路径");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(avatarPart);
message.setContent(multipart);
Transport.send(message);
System.out.println("邮件发送成功!");
} catch (MessagingException e) {
throw new RuntimeException(e);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
```
在上面的例子中,我们首先在邮件内容中嵌入了一张头像图片,并将图片的链接设置为 `<img src="头像图片链接">`。然后,我们创建了一个 `MimeBodyPart` 对象,用于设置头像图片的 MIME 头部信息,并将其添加到了 `MimeMultipart` 对象中。最后,我们将 `MimeMultipart` 对象设置为邮件的内容,并调用 `Transport.send` 方法发送邮件。
需要注意的是,如果你的邮件服务商不支持嵌入图片,那么头像图片可能会显示为附件,而不是显示在邮件内容中。
阅读全文