- 本实例为javamail发送smtp邮件实例和常见问题解决
- package mail;
- import java.util.Date;
- import java.util.Properties;
- import javax.mail.Address;
- import javax.mail.Authenticator;
- import javax.mail.Message;
- import javax.mail.PasswordAuthentication;
- import javax.mail.Session;
- import javax.mail.Transport;
- import javax.mail.internet.InternetAddress;
- import javax.mail.internet.MimeMessage;
- /** *//**
- * 发送普通邮件,接受普通邮件 发送带有附件的邮件,接收带有附件的邮件 发送html形式的邮件,接受html形式的邮件 发送带有图片的邮件等做了一个总结。
- */
- public class Test
- {
- // 邮箱服务器
- private String host = "smtp.163.com";
- // 这个是你的邮箱用户名 用户名一般为xxx@163.com中的xxx 但当确认无误时依然是认证错误可以修改为xxx@163.com全名测试
- private String username = "******";
- // 你的邮箱密码
- private String password = "******";
- private String mail_head_name = "this is head of this mail";
- private String mail_head_value = "this is head of this mail";
- private String mail_to = "zdw@live.cn";
- private String mail_from = "*****@163.com";
- private String mail_subject = "this is the subject of this test mail";
- private String mail_body = "this is the mail_body of this test mail";
- private String personalName = "我的邮件";
- public Test()
- {
- }
- /** *//**
- * 此段代码用来发送普通电子邮件
- */
- public void send() throws Exception
- {
- try
- {
- Properties props = new Properties(); // 获取系统环境
- Authenticator auth = new Email_Autherticator(); // 进行邮件服务器用户认证
- props.put("mail.smtp.host", host);
- props.put("mail.smtp.auth", "true");
- Session session = Session.getDefaultInstance(props, auth);
- // 设置session,和邮件服务器进行通讯。
- MimeMessage message = new MimeMessage(session);
- // message.setContent("foobar, "application/x-foobar"); // 设置邮件格式
- message.setSubject(mail_subject); // 设置邮件主题
- message.setText(mail_body); // 设置邮件正文
- message.setHeader(mail_head_name, mail_head_value); // 设置邮件标题
- message.setSentDate(new Date()); // 设置邮件发送日期
- Address address = new InternetAddress(mail_from, personalName);
- message.setFrom(address); // 设置邮件发送者的地址
- Address toAddress = new InternetAddress(mail_to); // 设置邮件接收方的地址
- message.addRecipient(Message.RecipientType.TO, toAddress);
- Transport.send(message); // 发送邮件
- System.out.println("send ok!");
- } catch (Exception ex)
- {
- ex.printStackTrace();
- throw new Exception(ex.getMessage());
- }
- }
- /** *//**
- * 用来进行服务器对用户的认证
- */
- public class Email_Autherticator extends Authenticator
- {
- public Email_Autherticator()
- {
- super();
- }
- public Email_Autherticator(String user, String pwd)
- {
- super();
- username = user;
- password = pwd;
- }
- public PasswordAuthentication getPasswordAuthentication()
- {
- return new PasswordAuthentication(username, password);
- }
- }
- public static void main(String[] args)
- {
- Test sendmail = new Test();
- try
- {
- sendmail.send();
- } catch (Exception ex)
- {
- }
- }
- }
常见错误
错误一:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
解决方法:到D:\MyEclipse 6.5
\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_6.5.0.zmyeclipse650200806
\data\libraryset\EE_5目录下找到javaee.jar删除其中到mail文件夹。
错误二:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/BEncoderStream
解决方法:
下载mail.jar和activation.jar文件加入到工程中。
下载地址:http://lym6520.iteye.com/blog/655373
相关推荐
基于SMTP的邮件发送系统允许用户通过编程方式发送电子邮件,而无需手动操作。在这个系统中,Java Servlet作为客户端,通过SMTP协议与邮件服务器进行交互,实现邮件的自动化发送。 1. SMTP协议基础: SMTP是一个...
JavaMail 是一个强大的开源库,用于在Java应用程序中发送...以上就是使用JavaMail发送邮件的详细过程,以及与文本编辑器KindEditor的集成方式。在开发过程中,记得根据具体需求调整和优化代码,以满足不同的业务场景。
本教程将通过一个实例详细介绍如何使用JavaMail API发送邮件。首先,我们需要了解JavaMail API的基本概念和它的核心组件。 JavaMail API是一个用于处理邮件的开源Java库,它允许开发者在Java应用中创建、发送、接收...
在Java中,`javamail`库提供了一种标准的方式来发送和接收电子邮件。上述代码展示了如何使用`javamail`发送邮件的基本步骤: 1. **MailSenderInfo类**:这个类封装了发送邮件所需的所有信息,如邮件服务器的主机名...
下面,我们将深入探讨使用JavaMail发送邮件的实例。 首先,确保你的项目中已经包含了JavaMail的相关依赖。通常,这可以通过在Maven或Gradle的构建文件中添加对应的依赖完成。例如,对于Maven,可以在pom.xml文件中...
在Java编程中,利用SMTP(Simple Mail Transfer Protocol)服务器发送邮件是一项常见的任务,尤其是在系统集成、通知服务或者自动化脚本中。SMTP是互联网标准,用于发送电子邮件。下面将详细讲解如何在Java中实现这...
下面将详细阐述如何在Java中使用SMTP发送邮件。 首先,你需要包含必要的库。JavaMail API是一个广泛使用的库,提供了处理邮件所需的功能。为了使用它,你需要添加以下依赖到你的项目中: ```xml <groupId>...
JavaMail是一种广泛使用的Java库,用于在应用程序中发送和接收电子邮件。这个实例是关于如何使用JavaMail在javaweb项目中实现注册验证邮件的功能。在实际的web开发中,当用户进行注册时,通过发送一封带有验证链接或...
这个实例将向我们展示如何使用JavaMail API在Java中实现邮件发送功能。以下是详细的步骤和相关知识点: 1. **JavaMail API简介**:JavaMail API是Java平台上的标准邮件服务接口,它提供了一系列类和接口,允许开发...
JavaMail邮件发送实例是Java开发中常见的一个应用场景,主要用于实现程序自动发送电子邮件的功能。这个实例可以帮助开发者理解如何使用JavaMail API来构建邮件服务。在JavaMail API中,我们可以使用MimeMessage类...
下面将详细介绍JavaMail的基本使用、核心概念以及如何通过实例进行邮件发送。 一、JavaMail简介 JavaMail API 是一组 Java 接口,它提供了标准的邮件服务,包括创建、发送、接收和处理邮件。这个API支持SMTP(简单...
本篇将深入探讨 JavaMail 的邮件实例,以及如何利用它来创建、发送和接收邮件。 在 JavaMail 中,主要涉及的核心接口和类包括 `Session`、`Message`、`MimeMessage`、`Transport` 和 `Store`。`Session` 是整个邮件...
2. **SMTP协议**:简单邮件传输协议(SMTP)是JavaMail API用于发送邮件的标准协议。SMTP服务器是接收和转发邮件的服务器,JavaMail API通过SMTP协议与这些服务器通信。 3. **POP3/IMAP协议**:虽然主要讨论的是...
导入到Myeclipse 即可运行 测试使用的是QQ邮箱 在application.xml中配置的发送邮箱 要到邮箱中设置 POP3/SMTP服务为开。项目不部署到tomcat后启动服务,然后运行test.java 就发送了,。绝对可以发送
这种处理方式在实际应用中非常常见,尤其是在使用SMTP协议进行邮件发送时,需要对登录凭证进行加密传输。 ### 结论 JavaMail API为Java开发者提供了丰富的邮件处理功能,无论是发送邮件还是接收邮件,都可以通过...
下面我们将深入探讨JavaMail的基本概念、如何使用JavaMail发送邮件以及在Struts2框架中的实现方式。 JavaMail API主要包括以下组件: 1. `javax.mail.Session`:是JavaMail的核心,负责配置邮件服务器的信息,如...
在这个实例中,我们将探讨如何使用Java来发送电子邮件,重点在于SMTP(Simple Mail Transfer Protocol)服务的使用。 首先,我们需要理解JavaMail API,这是一个Java库,允许开发者创建、发送和接收电子邮件。...
在提供的压缩包文件"javamail实例"中,可能包含了上述代码的完整实现以及其他相关的示例,这些示例可以帮助你更好地理解和使用JavaMail API,比如添加附件、设置HTML格式的邮件内容等。通过深入研究和实践这些示例,...
- JavaMail API提供了一系列接口和类,允许开发者通过SMTP(Simple Mail Transfer Protocol)协议发送邮件。 - 主要涉及的接口和类包括:`Session`(邮件会话)、`Message`(邮件对象)、`Transport`(传输服务)...