简单的JavaMail邮件发送

本文提供了一个使用JavaMail API发送邮件的示例代码,详细展示了如何配置SMTP服务器、设置邮件内容及收发方信息,并完成邮件的发送过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


import javax.mail.*;
import java.util.*;
import javax.mail.internet.*;

 

/**
 * @author caoyx
 *
 */
public class MailTest {

 /**
  * 构造方法
  */
 public MailTest() {

 }

/**

*

*javamail发送测试

*/

  public void SendEmailTest() {


  Properties props = new Properties();
  props.put("mail.smtp.host", "smtp.163.com");
  
  // 允许smtp校验
  props.put("mail.smtp.auth", "true");
  Session sendMailSession = Session.getInstance(props, null);

  try {
   Transport transport = sendMailSession.getTransport("smtp");
   
   //                             邮箱服务器            登陆邮箱用户名     登陆密码
   transport.connect("smtp.163.com",   "xxx",                 "xxx");
   Message newMessage = new MimeMessage(sendMailSession);

   // 设置mail主题
   String mail_subject = "邮件发送测试(mail标题)";
   newMessage.setSubject(mail_subject);

   // 设置发信人地址
   String strFrom = "xiangzi551@163.com";
   strFrom = new String(strFrom.getBytes(), "8859_1");
   newMessage.setFrom(new InternetAddress(strFrom));
   Address addressFrom[] = {
     new InternetAddress("
xiangzi551@163.com"),
     new InternetAddress("
xiangzi551@163.c dfgdom") };
   
   // 改变发件人地址
   newMessage.addFrom(addressFrom);
   
   // 设置收件人地址
   Address addressTo[] = { new InternetAddress("
cyx_shzu@163.com") };
   newMessage.setRecipients(Message.RecipientType.TO, addressTo);

   // 设置mail正文
   newMessage.setSentDate(new java.util.Date());
   
   String mail_text = "邮件发送测试.来自: "+strFrom;
   newMessage.setText(mail_text);

   // 保存发送信息
   newMessage.saveChanges();
   
   // 发送邮件
   transport.sendMessage(newMessage, newMessage
     .getRecipients(Message.RecipientType.TO));

   transport.close();

 

   System.out.println("OK");
  } catch (Exception e) {
   System.out.println(e);
  }

 }

 public static void main(String args[]) throws Exception {
  MailTest SEmail = new MailTest();
  SEmail.SendEmailTest();
 }

}

 

测试:

在eclipse中创建一个Java Application

引入mail.jar    activation.jar

 

注:

  在用户名和密码都没有问题的情况下,如果代码抛出javax.mail.AuthenticationFailedException异常,先用OutLook测试一下看能否进行正常的收发邮件, 有时信箱如果是新注册的话,邮件的服务商默认刚注册的帐号是不能使用pop3的。例如163.com在我进行代码测试时,刚刚注册的帐号是没有权限使用该功能的,所以就会抛出上述的异常。
  还有,要注意from的email地址和Authenticator类中验证的用户名是一致的,要不也会出错.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值