java邮箱发送怎么设置信头
时间: 2023-10-25 18:25:54 浏览: 105
你可以使用 JavaMail API 来设置邮件信头。以下是一个示例代码,可以帮助你设置邮件信头:
```java
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
public class MailSender {
public static void main(String[] args) {
String host = "smtp.gmail.com";
String username = "your_email@gmail.com";
String password = "your_password";
String fromAddress = "your_email@gmail.com";
String toAddress = "recipient_email@example.com";
String subject = "Test Email";
String body = "This is a test email.";
Properties properties = new Properties();
properties.put("mail.smtp.host", host);
properties.put("mail.smtp.auth", "true");
properties.put("mail.smtp.starttls.enable", "true");
properties.put("mail.smtp.port", "587");
Session session = Session.getInstance(properties, new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(fromAddress));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(toAddress));
message.setSubject(subject);
message.setText(body);
// 设置邮件信头
message.setHeader("X-Priority", "1");
message.setHeader("X-Mailer", "JavaMail API");
message.setHeader("X-MSMail-Priority", "High");
message.setHeader("Importance", "High");
Transport.send(message);
System.out.println("Email sent successfully.");
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,我们使用 `message.setHeader()` 方法来设置邮件信头。在这个示例中,我们设置了以下邮件信头:
- `X-Priority`: 邮件优先级
- `X-Mailer`: 发送邮件的客户端程序
- `X-MSMail-Priority`: 在 Outlook 中使用的邮件优先级
- `Importance`: 邮件重要性
你可以根据需要添加或删除邮件信头。