当前位置:首页 » 编程语言 » java邮件模板

java邮件模板

发布时间: 2022-07-28 13:10:25

java发送html模版的邮件

你可以找一封完整的广告邮件,然后转发,接着选择代码模式查看,你就可以修改广告的内容

㈡ 用java写一个美观的邮件界面

06年的sun科技日的时候,sun的演讲团,讲师沈卓立拿这个做了一个例子。主要的美观处理还是多层的贴图效果,如果谁有源码也可以送我一份。这个个人觉得有点难度……
至于简单邮件收发,例子到处都是,我这里现在有个正用的发生例子。接收就是处理pop3,然后拆分邮件体和邮件标题,附件等一些功能。
private MimeMessage mimeMsg; // MIME邮件对象

private Session sessions; // 邮件会话对象

private Properties props; // 系统属性

private boolean needAuth = false; // smtp是否需要认证

private String username = ""; // smtp认证用户名和密码

private String password = "";

private Multipart mp; // Multipart对象,邮件内容,标题,附件等内容均添加到其中后再生成MimeMessage对象

public SendMail() {
// setSmtpHost(getConfig.mailHost);//如果没有指定邮件服务器,就从getConfig类中获取
createMimeMessage();
}

public SendMail(String smtp) {
setSmtpHost(smtp);
createMimeMessage();
}

public void setSmtpHost(String hostName) {
if (props == null)
props = System.getProperties(); // 获得系统属性对象

props.put("mail.smtp.host", hostName); // 设置SMTP主机
}

public boolean createMimeMessage() {
try {
sessions = Session.getDefaultInstance(props, null); // 获得邮件会话对象
} catch (Exception e) {
e.printStackTrace();
return false;
}

try {
mimeMsg = new MimeMessage(sessions); // 创建MIME邮件对象
mp = new MimeMultipart();

return true;
} catch (Exception e) {
System.err.println("创建MIME邮件对象失败!" + e);
return false;
}
}

public void setNeedAuth(boolean need) {
if (props == null)
props = System.getProperties();

if (need) {
props.put("mail.smtp.auth", "true");
} else {
props.put("mail.smtp.auth", "false");
}
}

public void setNamePass(String name, String pass) {
username = name;
password = pass;
}

public boolean setSubject(String mailSubject) {
try {
mimeMsg.setSubject(mailSubject);
return true;
} catch (Exception e) {
System.err.println("设置邮件主题发生错误!");
return false;
}
}

public boolean setBody(String mailBody) {
try {
BodyPart bp = new MimeBodyPart();
bp.setContent(
"<meta http-equiv=Content-Type content=text/html; charset=gb2312>"
+ mailBody, "text/html;charset=GB2312");
mp.addBodyPart(bp);

return true;
} catch (Exception e) {
System.err.println("设置邮件正文时发生错误!" + e);
return false;
}
}

public boolean setFrom(String from) {
try {
mimeMsg.setFrom(new InternetAddress(from)); // 设置发信人
return true;
} catch (Exception e) {
return false;
}
}

public boolean setTo(String to) {
if (to == null)
return false;

try {
mimeMsg.setRecipients(Message.RecipientType.TO, InternetAddress
.parse(to));
return true;
} catch (Exception e) {
return false;
}

}

public boolean setCopyTo(String to) {
if (to == null)
return false;
try {
mimeMsg.setRecipients(Message.RecipientType.CC,
(Address[]) InternetAddress.parse(to));
return true;
} catch (Exception e) {
return false;
}
}

public boolean sendout() {
try {
mimeMsg.setContent(mp);
mimeMsg.saveChanges();

Session mailSession = Session.getInstance(props, null);
Transport transport = mailSession.getTransport("smtp");
transport.connect((String) props.get("mail.smtp.host"), username,password);
transport.sendMessage(mimeMsg, mimeMsg
.getRecipients(Message.RecipientType.TO));
// transport.send(mimeMsg);

transport.close();

return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}

㈢ 如何用java实现发送html格式的邮件

首先Java发送邮件需要用到JavaMail,先到Oracle官网上下载好最新版本的JavaMail(刚才看了一下,最新是1.5.3),把下载的这个jar文件放到classpath里(如果是Web项目,就放到WEB-INF/lib目录下。

JavaMail主要支持发送纯文本的和html格式的邮件。

发送html格式的邮件的一个例程如下:

importjavax.mail.internet.InternetAddress;
importjavax.mail.internet.MimeMessage;
importjavax.mail.internet.MimeUtility;
importjavax.mail.Session;
importjavax.mail.MessagingException;
importjavax.mail.Transport;

publicclassSendHtmlMail{
publicstaticvoidsendMessage(StringsmtpHost,
Stringfrom,Stringto,
Stringsubject,StringmessageText)
throwsMessagingException,java.io.UnsupportedEncodingException{

//Step1:Configurethemailsession
System.out.println("Configuringmailsessionfor:"+smtpHost);
java.util.Propertiesprops=newjava.util.Properties();
props.setProperty("mail.smtp.auth","true");//指定是否需要SMTP验证
props.setProperty("mail.smtp.host",smtpHost);//指定SMTP服务器
props.put("mail.transport.protocol","smtp");
SessionmailSession=Session.getDefaultInstance(props);
mailSession.setDebug(true);//是否在控制台显示debug信息

//Step2:Constructthemessage
System.out.println("Constructingmessage-from="+from+"to="+to);
InternetAddressfromAddress=newInternetAddress(from);
InternetAddresstoAddress=newInternetAddress(to);

MimeMessagetestMessage=newMimeMessage(mailSession);
testMessage.setFrom(fromAddress);
testMessage.addRecipient(javax.mail.Message.RecipientType.TO,toAddress);
testMessage.setSentDate(newjava.util.Date());
testMessage.setSubject(MimeUtility.encodeText(subject,"gb2312","B"));

testMessage.setContent(messageText,"text/html;charset=gb2312");
System.out.println("Messageconstructed");

//Step3:Nowsendthemessage
Transporttransport=mailSession.getTransport("smtp");
transport.connect(smtpHost,"webmaster","password");
transport.sendMessage(testMessage,testMessage.getAllRecipients());
transport.close();

System.out.println("Messagesent!");
}

publicstaticvoidmain(String[]args){

StringsmtpHost="localhost";
Stringfrom="[email protected]";
Stringto="[email protected]";
Stringsubject="html邮件测试";//subjectjavamail自动转码

StringBuffertheMessage=newStringBuffer();
theMessage.append("<h2><fontcolor=red>这倒霉孩子</font></h2>");
theMessage.append("<hr>");
theMessage.append("<i>年年失望年年望</i>");
try{
SendHtmlMail.sendMessage(smtpHost,from,to,subject,theMessage.toString());
}
catch(javax.mail.MessagingExceptionexc){
exc.printStackTrace();
}
catch(java.io.){
exc.printStackTrace();
}
}
}


JavaMail是封装了很多邮件操作的,所以使用起来不很困难,建议你到JavaMail官网看一下API或下载Java Doc API文档。

㈣ 怎样用java发送邮件

  1. 首先下载 JavaMail jar 包,并导入到项目中。下载地址

  2. 编写代码,代码如下:

  3. importjavax.mail.Authenticator;
    importjavax.mail.Message;
    importjavax.mail.MessagingException;
    importjavax.mail.PasswordAuthentication;
    importjavax.mail.Session;
    importjavax.mail.Transport;
    importjavax.mail.internet.AddressException;
    importjavax.mail.internet.InternetAddress;
    importjavax.mail.internet.MimeMessage;

    publicclassApp45{

    publicstaticvoidmain(String[]args)throwsAddressException,MessagingException{

    Propertiesproperties=System.getProperties();

    properties.setProperty("mail.smtp.host","邮件发送服务器");

    properties.setProperty("mail.smtp.auth","true");

    Sessionsession=Session.getDefaultInstance(properties,newAuthenticator(){
    @Override
    (){

    //设置发件人邮件帐号和密码
    ("邮件帐号","密码");
    }
    });

    MimeMessagemessage=newMimeMessage(session);

    //设置发件人邮件地址
    message.setFrom(newInternetAddress("发件人邮件地址"));

    //设置收件人邮件地址
    message.addRecipient(Message.RecipientType.TO,newInternetAddress("收件人邮件地址"));

    message.setSubject("这里是邮件主题。");

    message.setText("这里是邮件内容。");

    Transport.send(message);
    }
    }

㈤ 如何用javamail定时发送邮件 详细03

Java 计时器框架的本身在这里不作过多的介绍,详细信息在IBM developerWorks 中国网站。 我们主要讨论如何利用Java 计时器框架在Solaris 平台来实现邮件的定时发送、JavaMail 发送邮件的实现以及在Solaris 平台上如何以后台方式运行整个邮件定时发送的应用。 下载本文的源代码,参考具体实现。 1.1 形成schele.jar 包 schele.jar 包中的目录结构如下: 我们将数据库的连接、日志、邮件和计划框架的通用类形成一个与具体应用要求无关的schele.jar 包。利用 javac 将编译生成的目标 class 文件存在当前目录的 classes 文件夹下,然后通过 jar -cvf schele.jar ./*命令生成schele.jar 包。 1.1.1 Oracle 数据库连接的建立 位于db 目录下,通过thin 方式建立与Oracle 的数据库连接,具体的实现参见《J2EE 应用中与Oracle 数据库的连接》一文。 1.1.2 日志 以后台方式定时运行的应用应特别注意日志的功能,因为只有通过分析详细的日志信息才能准确掌握应用的执行情况。在logs 目录下为Logs.java 文件,代码如下: package com.j2ee.logs; import java.io.*; import java.util.*; import java.text.SimpleDateFormat; public class Logs { private String logType=""; private String server="/schele/logs/server.log"; private String task="/schele/implements/nohup.out"; private SimpleDateFormat dateFormat = new SimpleDateFormat("【 yyyy 年MM月dd 日 E a HH:mm:ss 】"); /** * @param logType server task */ public Logs(String logType) { this.logType=logType; } public void print(String msg) { try { String path=""; if (logType.equals("server")) path=server; if (logType.equals("task")) path=task; // BufferedWriter out = new BufferedWriter(new FileWriter(path,true)); String str=dateFormat.format(new Date()); if (logType.equals("task")) out.newLine(); out.write(str,0,str.length()); out.write(msg,0,msg.length()); out.newLine(); out.close(); } catch(Exception e) { System.out.println("Logs.print:"+e.getMessage()); } } }; 通过类中的构造器,可以生成两个日志文件:server.log 和nohup.out。server.log 用来记录计时器框架本身定时调度的日志信息,通过它来判断定时调度服务每天是否正常运行;nohup.out 用来记录在具体应用中的调试信息,例如:在应用中通过System.out.println()输出的信息将记录在nohup.out 文件中。 1.1.3 邮件 位于mail 目录下,包括以下一些文件: 1)Debug.java 发送邮件时的调试信息 2)EMailContents.java 邮件的正文,为了使邮件接受者对收到的邮件有一个好的视觉效果,可以先写一个统一的HTML 邮件模板,在模板中填充相应的内容。EmailContents 类完成这一功能。效果如下: 3)Mailer.java 发送邮件的主方法。它调用MailThread 类中的方法创建一个发送邮件的线程。 4)MailThread.java 发送邮件线程类。它调用MailHelper 中的方法来完成发送邮件的工作。 5)MailHelper.java 发送邮件的实现类。在类的createAndSendMail 方法中包括了发送邮件一系列必须的过程,它可以完成一些邮件的正文、附件、抄送、回执等功能。在邮件的实现中用到了两个jar 包:mail.jar 和activation.jar。 1.1.4 计划框架 计划框架的详细内容可以通过本文前面提供的连接去详细了解,本文该部分的代码也出自IBM网站。 1.2 邮件定时发送的实现 这部分主要用到前面schele.jar 中的类来实现与具体应用要求相适应的应用。在implements 目录下有三个类: 1)ScheleTask.java 包含一个main 方法,在本例中"每天计划3 点开始执行计划好的任务"。 2)ScheleThread.java 线程类,在该类的 run 方法中,可以添加不同类型的计划定时执行的任务类来完成不同的定时执行的任务,在本例中调用了Mails 类中的sendMail 方法来定时发送邮件。 3)Mails.java 按照一定的业务逻辑规则实现邮件的发送。 1.3 邮件定时发送应用的运行 包括应用的启动和停止,在Solaris 上我们可以编写两个脚本:start 和stop 来完成该工作。 1.3.1 Start 脚本 Start 脚本内容如下: echo '************************************************************' CLASSPATH=.:/schele/implements/jar/schele.jar: /schele/implements/jar/classes12.zip: /schele/implements/jar/mail.jar:/schele/implements/jar/activation.jar export CLASSPATH echo 'set schele running environment success.' nohup java com.j2ee.implement.ScheleTask & echo 'start schele task success.' echo 'view logs:' echo ' /schele/implements/nohup.out' echo ' /schele/logs/server.log' date >> /schele/logs/server.log echo '计划框架成功启动' >> /schele/logs/server.log echo '************************************************************' 这里有两个关键点:CLASSPATH 的设置和 nohup 运行方式。在 CLASSPATH 中必须提供用到的所有 jar 包,多个jar 包用":"分隔;"&"表示以后台方式运行,"nohup"使应用的运行不依赖于当前的会话,如果不以"nohup"方式的话,即" java com.j2ee.implement.ScheleTask &",当你关闭你当前的会话时,应用将终止运行。可以使用"ps -ef | grep java"来查看应用运行的进程号。 当然也可以通过手工交互的方式完成上述步骤来运行应用。 1.3.2 Stop 脚本 Stop 脚本内容如下: echo '************************************************************' ps -e | grep java >> ps.out kill -9 `cut -c 2-6 ps.out` rm ps.out date >> /schele/logs/server.log echo '计划框架成功停止' >> /schele/logs/server.log echo 'stop schele task success.' echo '************************************************************' 该脚本中主要通过" ps -e | grep java"命令将输出信息重定向到"ps.out"文件中,在从文件中获得进程号,然后将它kill 掉。同样也可以通过手工的方式将它kill。 一般的问题在SUN 中国的技术社区都能找的到的 建议你去看看. 这篇是切过来的 你可以去SUN 中国技术社区下载具体实例 使用JSP开发WebMail 系统 电子邮件(E-mail)是Internet 上使用最广泛的服务之一,传统的Email 应用模式基于C/S 结构,即用户使用客户端的邮件收发工具(如Outlook、Foxmail 等)与提供邮件服务的服务器(如163.net、263.net、 371.net)通信,在使用客户端邮件工具之前,用户要进行一些必要的设置,如指定邮件服务器的主机地址和通信端口等,这些工作对刚开始上网的用户会有一定的困难,如果把E-mail 和Web 结合在一起,即通过Web 编程和适当的系统设置,使用户仅仅以访问Web 的方式就可以得到和使用完整的邮件服务,这样将极大地方便上网用户,这种系统称为WebMail。WebMail 是目前Internet 上最受欢迎的服务之一,也是很多网站必备功能之一。另外WebMail 同样也适用于企业或校园网的应用。 通常在后台服务器的搭建和设置完成后实现WebMail 系统,而前台的开发工作主要是开发工具与后台数据库和邮件服务器的交互问题。在Linux 平台上运行的各种服务器软件稳定性和可靠性一直很好,而且选择跨平台的Java 开发工具使系统更稳定,具有更高的伸缩性。 JSP性能 尽管JSP 提供强大的功能是建立在Servlet 之上,但JSP 的性能和Servlet 相差无几。JSP 首先要编译成Servlet,这只会增加少量的代码,仅需编译一次且可以预编译,这就消除了运行时花费不必要的负担。JSP 与Servlet 性能上的差异仅仅表现在返回的数据是二进制的。这是因为JSP 返回时用的是 PrintWriter,而Servlet 可以应用于速度更快的OutputStream。 JSP 自定义的标签库可以封装大量的、复杂的Java 操作在一个Form里面,这些预先定义好的标签可以很容易的被那些没有Java 知识的人调用。因此,JSP 自定义的标签库可以有效地实现Java 程序员和 Web 设计人员工作的划分。然而,在页面上应用的每一个标签,Web 容器都必须创建一个新的标签句柄对象或从标签缓冲中提取它。因此,过多的应用自定义的标签将会带来不必要的资源浪费。 BodyTags 是一种特殊的定制标签,可以提取在它之间封装的内容或者替换那些内容。BodyTags 之间的内容一般会备份在内存中。由于BodyTags 之间能够嵌套和重复,因此,在程序中应用了多级的 BodyTags 会占用大量宝贵的内存和系统资源。 实现WebMail 的主要功能 该系统提供了获取、阅读、书写、转发、回复、打印、删除及用户管理的功能。考虑到系统的跨平台性,采用Java 及相关技术产品为开发工具,特别是采用JSP 作为服务程序,这样对客户端也没有其它要求,同时系统的性能在高负荷下得到进一步提高。整个WebMail 系统全部采用纯Java 代码,服务器端每响应一个服务请求启动一个线程,而不像CGI 那样启动一个进程。这样能够节省系统资源,提高系统性能。

㈥ java 邮件发送 为什么不能运行成功 代码如下

你都没有设置邮件服务器....这句错误就是你没有设置邮件服务器或者你的用户名密码不正确

下面是我原来写的代码请参考:

首先是邮件模板的读取工具类

[java]viewplain
packagegamutsoft.mail.test;

importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.IOException;
importjava.io.InputStreamReader;

publicclassReadHTML{

/**
*@paramargs
*/
//publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
(){
//Stringinfo="";
StringBufferbuff=newStringBuffer();
InputStreamReaderin=null;
BufferedReaderbr=null;
Stringpath=System.getProperty("user.dir")+"/src/html/email2.html";
Filefile=newFile(path);
try{
in=newInputStreamReader(newFileInputStream(file));
br=newBufferedReader(in);
Stringline=null;
while((line=br.readLine())!=null){
//System.out.println(line);
buff.append(line).append(" ");
}


}catch(FileNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
if(in!=null){
try{
in.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
if(br!=null){
try{
br.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}

returnbuff.toString();
}

}

邮件的html模板:
email2.html(乱写的不喜勿喷)
[html]viewplain
<html>
<head>
<metahttp-equiv="content-type"content="text/html;charset=UTF-8">
</head>
<body>
<h4>您好:</h4>
<ahref="http://www.163.com">网易</a>
<br>
欢迎光临,呵呵呵呵呵呵呵呵额
<br>
十分感谢
<h4>您好:</h4>
<ahref="http://www.163.com">网易</a>
<br>
欢迎光临,呵呵呵呵呵呵呵呵额
<br>
十分感谢
<h4>您好:</h4>
<ahref="http://www.163.com">网易</a>
<br>
欢迎光临,呵呵呵呵呵呵呵呵额
<br>
十分感谢
<h4>您好:</h4>
<ahref="http://www.163.com">网易</a>
<br>
欢迎光临,呵呵呵呵呵呵呵呵额
<br>
十分感谢
<h4>您好:</h4>
<ahref="http://www.163.com">网易</a>
<br>

</html>
邮件发送类:这里的邮箱是为了自己的隐私我乱写了下,如果测试的话还得填写正确的
[java]viewplain
packagegamutsoft.mail.test;

importjava.io.UnsupportedEncodingException;
importjava.util.Date;
importjava.util.Properties;

importjavax.mail.Address;
importjavax.mail.Authenticator;
importjavax.mail.BodyPart;
importjavax.mail.Message;
importjavax.mail.MessagingException;
importjavax.mail.Multipart;
importjavax.mail.Session;
importjavax.mail.Transport;
importjavax.mail.internet.InternetAddress;
importjavax.mail.internet.MimeBodyPart;
importjavax.mail.internet.MimeMessage;
importjavax.mail.internet.MimeMultipart;

publicclassMailTest1{


publicstaticvoidsend()throwsMessagingException,UnsupportedEncodingException{

Stringinfo=ReadHTML.reMailString();

//邮件服务器
Stringhost="smtp.163.com";
//发件人
Stringfrom="[email protected]";
//收件人
Stringto="[email protected]";
//抄送人
StringtoCC1="[email protected]";
StringtoCC2="[email protected]";
Stringusername="[email protected]";
Stringpassword="51234";
//邮件会话属性
//Propertiesp=System.getProperties();
Propertiesp=newProperties();
p.put("mail.smtp.host",host);
/*
p.put("mail.smtp.auth","true");
//创建一个密码验证器
Authenticatorauth=newMyAuthenticator(username,password);
//获得Session
Sessionsession=Session.getDefaultInstance(p,auth);
*/
//////////////////sesion获得Transprot方法
Sessionsession=Session.getDefaultInstance(p,null);
session.setDebug(true);

/////////////////////
//创建Message信息
MimeMessagemessage=newMimeMessage(session);
//创建邮件发送者地址
AddressfromAD=newInternetAddress(from,"李建勋");
//nternetAddress(from)
//设置邮件发送者
message.setFrom(fromAD);
//创建邮件的接收地址
AddresstoAD=newInternetAddress(to);
//创建抄送人数组
AddresstoCAD1=newInternetAddress(toCC1);
AddresstoCAD2=newInternetAddress(toCC2);
Address[]toCs={toCAD1,toCAD2};
//设置邮件的接收地址
message.setRecipient(Message.RecipientType.TO,toAD);
message.addRecipients(Message.RecipientType.CC,toCs);
//设置发送时间
message.setSentDate(newDate());
//设置主题
message.setSubject("HelloJavaMail44");
/*
//设置消息正文,文本
message.setText("WelcomeToJavaMail");
//设置HTML内容
message.setContent("<ahref='http://www.163.com'>网络</a>","text/html;charset=utf-8");
*/
//MimeMultipart类是一个容器类,包含MimeBodyPart类型的对象
MultipartmainPart=newMimeMultipart();
//创建一个包含HTML内容的MimeBodyPart
BodyPartbody=newMimeBodyPart();
//设置html内容
body.setContent(info,"text/html;charset=utf-8");
//将MimeMultipart设置为邮件内容
mainPart.addBodyPart(body);
message.setContent(mainPart);
///////////////////////sesion获得Transprot
Transporttransport=session.getTransport("smtp");
transport.connect(host,username,password);
transport.sendMessage(message,message.getAllRecipients());
transport.close();

//////////////////////

//Transport.send(message);


}
publicstaticvoidmain(String[]args)throwsMessagingException,UnsupportedEncodingException{
//TODOAuto-generatedmethodstub
send();
}


}

接下来是MyAuthenticator类[java]viewplain
packagegamutsoft.mail.test;

importjavax.mail.Authenticator;
importjavax.mail.PasswordAuthentication;

{
/*在使用Authenticator这个抽象类时,我们必须采用继承该抽象类的方式,并且该继承类必须具
*有返回PasswordAuthentication对象(用于存储认证时要用到的用户名、密码)getPasswordAuthentication()
*方法。并且要在Session中进行注册,使Session能够了解在认证时该使用哪个类。
**/
Stringusername=null;
Stringpassword=null;
publicMyAuthenticator(){

}
publicMyAuthenticator(Stringusername,Stringpassword){
this.username=username;
this.password=password;
}
(){

(username,password);
}


}

㈦ Java发送邮件

本地要 有smtp服务器,才可以测试 。。。。。。。。。。。。。~
~
~
~~~~~~~~~~~~~~~~~~~~~~~~

㈧ 用java写一个邮件发送代码

public boolean mainto()
{
boolean flag = true;

//建立邮件会话
Properties pro = new Properties();
pro.put("mail.smtp.host","smtp.qq.com");//存储发送邮件的服务器
pro.put("mail.smtp.auth","true"); //通过服务器验证

Session s =Session.getInstance(pro); //根据属性新建一个邮件会话
//s.setDebug(true);

//由邮件会话新建一个消息对象
MimeMessage message = new MimeMessage(s);

//设置邮件
InternetAddress fromAddr = null;
InternetAddress toAddr = null;

try
{
fromAddr = new InternetAddress(451144426+"@qq.com"); //邮件发送地址
message.setFrom(fromAddr); //设置发送地址

toAddr = new InternetAddress("[email protected]"); //邮件接收地址
message.setRecipient(Message.RecipientType.TO, toAddr); //设置接收地址

message.setSubject(title); //设置邮件标题
message.setText(content); //设置邮件正文
message.setSentDate(new Date()); //设置邮件日期

message.saveChanges(); //保存邮件更改信息

Transport transport = s.getTransport("smtp");
transport.connect("smtp.qq.com", "451144426", "密码"); //服务器地址,邮箱账号,邮箱密码
transport.sendMessage(message, message.getAllRecipients()); //发送邮件
transport.close();//关闭

}
catch (Exception e)
{
e.printStackTrace();
flag = false;//发送失败
}

return flag;
}

这是一个javaMail的邮件发送代码,需要一个mail.jar

㈨ 求java发送邮件的demo例子

//需要的第一个类
importjava.util.Properties;

publicclassMailSenderInfo{
//发送邮件的服务器的IP和端口
privateStringmailServerHost;
privateStringmailServerPort="25";
//邮件发送者的地址
privateStringfromAddress;
//邮件接收者的地址
privateStringtoAddress;
//登陆邮件发送服务器的用户名和密码
privateStringuserName;
privateStringpassword;
//是否需要身份验证
privatebooleanvalidate=false;
//邮件主题
privateStringsubject;
//邮件的文本内容
privateStringcontent;
//邮件附件的文件名
privateString[]attachFileNames;
/**
*获得邮件会话属性
*/
publicPropertiesgetProperties(){
Propertiesp=newProperties();
p.put("mail.smtp.host",this.mailServerHost);
p.put("mail.smtp.port",this.mailServerPort);
p.put("mail.smtp.auth",validate?"true":"false");
returnp;
}
publicStringgetMailServerHost(){
returnmailServerHost;
}
publicvoidsetMailServerHost(StringmailServerHost){
this.mailServerHost=mailServerHost;
}
publicStringgetMailServerPort(){
returnmailServerPort;
}
publicvoidsetMailServerPort(StringmailServerPort){
this.mailServerPort=mailServerPort;
}
publicbooleanisValidate(){
returnvalidate;
}
publicvoidsetValidate(booleanvalidate){
this.validate=validate;
}
publicString[]getAttachFileNames(){
returnattachFileNames;
}
publicvoidsetAttachFileNames(String[]fileNames){
this.attachFileNames=fileNames;
}
publicStringgetFromAddress(){
returnfromAddress;
}
publicvoidsetFromAddress(StringfromAddress){
this.fromAddress=fromAddress;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}
publicStringgetToAddress(){
returntoAddress;
}
publicvoidsetToAddress(StringtoAddress){
this.toAddress=toAddress;
}
publicStringgetUserName(){
returnuserName;
}
publicvoidsetUserName(StringuserName){
this.userName=userName;
}
publicStringgetSubject(){
returnsubject;
}
publicvoidsetSubject(Stringsubject){
this.subject=subject;
}
publicStringgetContent(){
returncontent;
}
publicvoidsetContent(StringtextContent){
this.content=textContent;
}
}

//需要的第二个类
importjavax.mail.*;

{
StringuserName=null;
Stringpassword=null;

publicMyAuthenticator(){
}
publicMyAuthenticator(Stringusername,Stringpassword){
this.userName=username;
this.password=password;
}
(){
(userName,password);
}
}

//需要的第三个类
importjava.util.Date;
importjava.util.Properties;
importjavax.mail.Address;
importjavax.mail.Message;
importjavax.mail.MessagingException;
importjavax.mail.Session;
importjavax.mail.Transport;
importjavax.mail.internet.InternetAddress;
importjavax.mail.internet.MimeMessage;

publicclassSimpleMailSender{
/**
*以文本格式发送邮件
*
*@parammailInfo
*待发送的邮件的信息
*/
publicbooleansendTextMail(MailSenderInfomailInfo){
//判断是否需要身份认证
MyAuthenticatorauthenticator=null;
Propertiespro=mailInfo.getProperties();
if(mailInfo.isValidate()){
//如果需要身份认证,则创建一个密码验证器
authenticator=newMyAuthenticator(mailInfo.getUserName(),
mailInfo.getPassword());
}
//根据邮件会话属性和密码验证器构造一个发送邮件的session
SessionsendMailSession=Session
.getDefaultInstance(pro,authenticator);
try{
//根据session创建一个邮件消息
MessagemailMessage=newMimeMessage(sendMailSession);
//创建邮件发送者地址
Addressfrom=newInternetAddress(mailInfo.getFromAddress());
//设置邮件消息的发送者
mailMessage.setFrom(from);
//创建邮件的接收者地址,并设置到邮件消息中
Addressto=newInternetAddress(mailInfo.getToAddress());
mailMessage.setRecipient(Message.RecipientType.TO,to);
//设置邮件消息的主题
mailMessage.setSubject(mailInfo.getSubject());
//设置邮件消息发送的时间
mailMessage.setSentDate(newDate());
//设置邮件消息的主要内容
StringmailContent=mailInfo.getContent();
mailMessage.setText(mailContent);
//发送邮件
Transport.send(mailMessage);
returntrue;
}catch(MessagingExceptionex){
ex.printStackTrace();
}
returnfalse;
}
}

demo:
publicStringemail;
publicvoidsendCheck(){
Randomrandom=newRandom();
Stringcheck="";
for(inti=0;i<6;i++){
check+=random.nextInt(10);
}
Cookiecookie=newCookie("check",check);
cookie.setMaxAge(3600*2);
cookie.setPath("/");
response.addCookie(cookie);
MailSenderInfomailInfo=newMailSenderInfo();
mailInfo.setMailServerHost("smtp.qq.com");
mailInfo.setMailServerPort("25");
mailInfo.setValidate(true);
mailInfo.setUserName("");//发送者用户名
mailInfo.setPassword("");//邮箱密码
mailInfo.setFromAddress("");//发送者邮箱,建议使用qq邮箱
mailInfo.setToAddress("[email protected]");//接收者邮箱
mailInfo.setSubject("欢迎注册Mlnx论坛新用户");
mailInfo.setContent("您好! 感谢您注册宁波Mlnx论坛用户。 您此次注册的验证码为:"+check
+"。如验证码无效,请按页面提示重新发送。(此验证码有效时间为2小时,逾期无效)");
//这个类主要来发送邮件
SimpleMailSendersms=newSimpleMailSender();
sms.sendTextMail(mailInfo);//发送文体格式
}

此外,你还需要一个mail.jar的jar包,网上能下载到。

热点内容
linuxio文件 发布:2025-01-24 13:40:21 浏览:437
在excel设密码如何取消 发布:2025-01-24 13:38:54 浏览:482
电脑装存储时不能开机 发布:2025-01-24 13:38:52 浏览:284
2000人同时在线的小程序需要什么服务器 发布:2025-01-24 13:37:17 浏览:852
怎么搭建linux服务器配置 发布:2025-01-24 13:37:16 浏览:112
安卓版什么时候上线麻将模式 发布:2025-01-24 13:32:48 浏览:965
算法实验分析 发布:2025-01-24 13:20:25 浏览:137
安卓和ios步数哪个准确 发布:2025-01-24 13:12:13 浏览:290
怎么给电脑换配置 发布:2025-01-24 13:04:04 浏览:922
如何修改服务密码10086 发布:2025-01-24 12:44:27 浏览:515