javamail发送

package com.hygj.mail;

import java.io.UnsupportedEncodingException;
import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.Message.RecipientType;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

import com.hygj.test.SMTPAuthenticator;

/**
* <p>Title:</p>
* <p>Description:</p>
* <p>Copyright:Copyright(c)2009</p>
* <p>Company:华育国际教育集团-济南分校-软件工厂</p>
* <p>Created By:ZhangKe</p>
* <p>First Created:2009-6-5</p>
* @author: <a href="mailto:jasonyp@126.com">ZhangKe</a>
* @version: 1.0
*
*/
public class SMTPMail {

private String host = "";
private String username = "";
private String password = "";
private boolean auth = false;
private String from = "";
private String to="";
private String subject = "";
private String content = "";


public boolean sendMail(){
boolean isSend = false;

try {
//1.创建于SMTP服务器之间的会话
Properties properties = System.getProperties();
properties.put("mail.smtp.host",host);
properties.put("mail.smtp.auth",String.valueOf(auth));
SMTPAuthenticator authenticator = new SMTPAuthenticator(username,password);
Session session = Session.getDefaultInstance(properties,new Authenticator(){
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username,password);
}
});
session.setDebug(true);
//2.连接SMTP服务器
Transport sender = session.getTransport("smtp");
sender.connect();
//3.创建邮件内容
Message mymail = new MimeMessage(session);
mymail.setFrom(new InternetAddress(from,"JAVAMail"));
mymail.setRecipient(RecipientType.TO,new InternetAddress(to));
mymail.setSubject(subject);
mymail.setContent(content,"text/html;charset=gbk");
// mymail.setText(content);
//4.发送邮件
Transport.send(mymail);
isSend = true;
} catch (AddressException e) {
e.printStackTrace();
} catch (NoSuchProviderException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (MessagingException e) {
System.out.println(e.getMessage());
}



return isSend;

}



/**
* @param args
*/
public static void main(String[] args) {
SMTPMail mail = new SMTPMail();
mail.setHost("smtp.126.com");
mail.setUsername("g_anine");
mail.setPassword("qqqq,.");
mail.setAuth(true);
mail.setFrom("anine@126.com");
mail.setTo("asaaaa@126.com");
mail.setSubject("我的JavaMail测试邮件");
mail.setContent("我的第一封邮件!<a href=http://www.gohy.net>济南华育</a>");
mail.sendMail();
}


public boolean isAuth() {
return auth;
}


public void setAuth(boolean auth) {
this.auth = auth;
}


public String getContent() {
return content;
}


public void setContent(String content) {
this.content = content;
}


public String getFrom() {
return from;
}


public void setFrom(String from) {
this.from = from;
}


public String getHost() {
return host;
}


public void setHost(String host) {
this.host = host;
}


public String getPassword() {
return password;
}


public void setPassword(String password) {
this.password = password;
}


public String getSubject() {
return subject;
}


public void setSubject(String subject) {
this.subject = subject;
}


public String getTo() {
return to;
}


public void setTo(String to) {
this.to = to;
}


public String getUsername() {
return username;
}


public void setUsername(String username) {
this.username = username;
}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要设置JavaMail发送邮件,你需要按照以下步骤进行操作: 1. 导入相关的类库:首先,确保你的项目中已经导入了JavaMail和Java Activation Framework(JAF)的相关类库。你可以从官方网站(https://javaee.github.io/javamail/)下载并添加这些类库到你的项目中。 2. 配置SMTP服务器信息:你需要指定SMTP服务器的地址和端口号。通常,SMTP服务器的地址是根据你使用的邮件服务提供商而不同。例如,对于Gmail来说,SMTP服务器地址是"smtp.gmail.com",端口号是587。 3. 创建Session对象:使用javax.mail.Session类创建一个Session对象。你可以通过使用Properties对象来设置Session的一些属性,例如SMTP服务器信息、是否需要身份验证等。 ```java Properties properties = new Properties(); properties.put("mail.smtp.host", "smtp.gmail.com"); properties.put("mail.smtp.port", "587"); properties.put("mail.smtp.auth", "true"); Session session = Session.getDefaultInstance(properties, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("your-email@gmail.com", "your-password"); } }); ``` 在这里,你需要替换`your-email@gmail.com`和`your-password`为你自己的邮箱地址和密码。 4. 创建Message对象:使用javax.mail.Message类创建一个Message对象,并设置邮件的发送者、接收者、主题和正文等信息。 ```java Message message = new MimeMessage(session); message.setFrom(new InternetAddress("your-email@gmail.com")); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("recipient-email@example.com")); message.setSubject("Hello, World!"); message.setText("This is the content of the email."); ``` 在这里,你需要将`your-email@gmail.com`替换为你自己的邮箱地址,将`recipient-email@example.com`替换为邮件接收者的邮箱地址。 5. 发送邮件:使用Transport类的静态方法send()发送邮件。 ```java Transport.send(message); ``` 完整的示例代码如下: ```java import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import java.util.Properties; public class EmailSender { public static void main(String[] args) { Properties properties = new Properties(); properties.put("mail.smtp.host", "smtp.gmail.com"); properties.put("mail.smtp.port", "587"); properties.put("mail.smtp.auth", "true"); Session session = Session.getDefaultInstance(properties, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("your-email@gmail.com", "your-password"); } }); try { Message message = new MimeMessage(session); message.setFrom(new InternetAddress("your-email@gmail.com")); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("recipient-email@example.com")); message.setSubject("Hello, World!"); message.setText("This is the content of the email.");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值