mail.java 代码
- package mail;
-
- import java.util.* ;
- import java.io.* ;
- import javax.mail.* ;
- import javax.mail.internet.* ;
- import javax.activation.* ;
- public class Mail {
-
- private String displayName;
- private String to;
- private String from;
- private String smtpServer;
- private String username;
- private String password;
- private String subject;
- private String content;
- private boolean ifAuth;
- private String filename="";
- private Vector file = new Vector();
-
-
-
-
-
- public void setSmtpServer(String smtpServer){
- this.smtpServer=smtpServer;
- }
-
-
-
-
- public void setFrom(String from){
- this.from=from;
- }
-
-
-
- public void setDisplayName(String displayName){
- this.displayName=displayName;
- }
-
-
-
-
- public void setIfAuth(boolean ifAuth){
- this.ifAuth=ifAuth;
- }
-
-
-
-
- public void setUserName(String username){
- this.username=username;
- }
-
-
-
-
- public void setPassword(String password){
- this.password=password;
- }
-
-
-
-
- public void setTo(String to){
- this.to=to;
- }
-
-
-
-
- public void setSubject(String subject){
- this.subject=subject;
- }
-
-
-
-
- public void setContent(String content){
- this.content=content;
- }
-
-
-
-
- public void addAttachfile(String fname){
- file.addElement(fname);
- }
-
- public Mail(){
-
- }
-
-
-
-
- public Mail(String smtpServer,String from,String displayName,String username,String password,String to,String subject,String content){
- this.smtpServer=smtpServer;
- this.from=from;
- this.displayName=displayName;
- this.ifAuth=true;
- this.username=username;
- this.password=password;
- this.to=to;
- this.subject=subject;
- this.content=content;
- }
-
-
-
-
- public Mail(String smtpServer,String from,String displayName,String to,String subject,String content){
- this.smtpServer=smtpServer;
- this.from=from;
- this.displayName=displayName;
- this.ifAuth=false;
- this.to=to;
- this.subject=subject;
- this.content=content;
- }
-
-
-
-
- public HashMap send(){
- HashMap map=new HashMap();
- map.put("state", "success");
- String message="邮件发送成功!";
- Session session=null;
- Properties props = System.getProperties();
- props.put("mail.smtp.host", smtpServer);
- if(ifAuth){
- props.put("mail.smtp.auth","true");
- SmtpAuth smtpAuth=new SmtpAuth(username,password);
- session=Session.getDefaultInstance(props, smtpAuth);
- }else{
- props.put("mail.smtp.auth","false");
- session=Session.getDefaultInstance(props, null);
- }
- session.setDebug(true);
- Transport trans = null;
- try {
- Message msg = new MimeMessage(session);
- try{
- Address from_address = new InternetAddress(from, displayName);
- msg.setFrom(from_address);
- }catch(java.io.UnsupportedEncodingException e){
- e.printStackTrace();
- }
- InternetAddress[] address={new InternetAddress(to)};
- msg.setRecipients(Message.RecipientType.TO,address);
- msg.setSubject(subject);
- Multipart mp = new MimeMultipart();
- MimeBodyPart mbp = new MimeBodyPart();
- mbp.setContent(content.toString(), "text/html;charset=gb2312");
- mp.addBodyPart(mbp);
- if(!file.isEmpty()){
- Enumeration efile=file.elements();
- while(efile.hasMoreElements()){
- mbp=new MimeBodyPart();
- filename=efile.nextElement().toString();
- FileDataSource fds=new FileDataSource(filename);
- mbp.setDataHandler(new DataHandler(fds));
- mbp.setFileName(fds.getName());
- mp.addBodyPart(mbp);
- }
- file.removeAllElements();
- }
- msg.setContent(mp);
- msg.setSentDate(new Date());
-
- msg.saveChanges();
- trans = session.getTransport("smtp");
- trans.connect(smtpServer, username, password);
- trans.sendMessage(msg, msg.getAllRecipients());
- trans.close();
-
- }catch(AuthenticationFailedException e){
- map.put("state", "failed");
- message="邮件发送失败!错误原因:\n"+"身份验证错误!";
- e.printStackTrace();
- }catch (MessagingException e) {
- message="邮件发送失败!错误原因:\n"+e.getMessage();
- map.put("state", "failed");
- e.printStackTrace();
- Exception ex = null;
- if ((ex = e.getNextException()) != null) {
- System.out.println(ex.toString());
- ex.printStackTrace();
- }
- }
-
- map.put("message", message);
- return map;
- }
-
- }
SmtpAuth.java 代码
- package mail;
-
- public class SmtpAuth extends javax.mail.Authenticator {
- private String username,password;
-
- public SmtpAuth(String username,String password){
- this.username = username;
- this.password = password;
- }
- protected javax.mail.PasswordAuthentication getPasswordAuthentication() {
- return new javax.mail.PasswordAuthentication(username,password);
- }
- }
存在的问题就是发送到163的邮件全部都带有一个附件的符号,不管有没有发送附件,还请大家指点一下!!!
分享到:
相关推荐
06 使用JavaMail发送带附件的邮件.exe06 使用JavaMail发送带附件的邮件.exe
以上就是使用JavaMail发送带有附件的邮件的基本步骤。这个过程需要正确配置邮件服务器的属性,如SMTP服务器地址、端口、用户名和密码(如果需要身份验证)。`MailSenderInfo` 类通常会封装这些配置信息。 总的来说...
以上就是使用JavaMail发送带附件的邮件的基本流程。需要注意的是,实际应用中可能需要处理更多复杂情况,例如错误处理、SSL/TLS加密连接、多部分邮件(包含HTML内容和文本内容)等。同时,确保你有正确的SMTP服务器...
在使用JavaMail发送邮件前,你需要在项目中引入相关的依赖包。在描述中提到的"javamail"可能是指JavaMail的jar包,这是进行邮件操作的基础。确保你的项目已包含以下两个关键的JavaMail库: 1. `javax.mail-api.jar`...
以上就是使用JavaMail发送文本、HTML和附件邮件的详细步骤。在实际应用中,还需要考虑错误处理、邮件格式验证、多线程发送等复杂情况。同时,对于企业级应用,通常会使用邮件服务提供商如SendGrid、Mailgun等,它们...
这个资源提供了一个具体的示例,展示了如何使用JavaMail API 来发送带有附件的邮件。以下是对这个主题的详细解释: 首先,你需要理解JavaMail的核心组件。`javax.mail` 和 `javax.mail.internet` 包含了发送邮件所...
下面是一个简化的JavaMail发送邮件的过程: 1. **配置邮件会话**:首先,我们需要创建一个`Properties`对象,并设置SMTP服务器的相关参数,如主机名和端口号。然后,通过`Session.getInstance()`方法初始化一个邮件...
### JavaMail发送邮件时遇到的问题及解决方法 在使用JavaMail进行邮件发送的过程中,可能会遇到以下几种常见问题:发送成功但收件方未收到邮件、邮件收到后无主题或无收件人信息以及邮件内容出现乱码等情况。本文将...
以上就是使用JavaMail发送邮件的基本过程。在实际开发中,可能还需要处理更多复杂情况,如SSL/TLS加密、HTML邮件、多部分消息等。JavaMail API提供了丰富的功能来应对这些需求,让开发者能够灵活地构建邮件系统。 ...
JavaMail邮件发送(带附件)
给定的部分内容展示了如何使用JavaMail API发送带有附件的邮件。代码中使用了`MimeMessage`、`MimeBodyPart`、`MimeMultipart`等类来构建邮件消息,同时通过`DataHandler`和`FileDataSource`来处理邮件附件。此外,...
下面我们将深入探讨JavaMail的基本概念、如何使用JavaMail发送邮件以及在Struts2框架中的实现方式。 JavaMail API主要包括以下组件: 1. `javax.mail.Session`:是JavaMail的核心,负责配置邮件服务器的信息,如...
使用 JavaMail 库可以轻松地在 Java 应用程序中发送电子邮件。JavaMail 是一个 Java API,用于在 Java 应用程序中发送和接收电子邮件。它提供了一个抽象层,允许开发者使用不同的电子邮件协议,例如 SMTP、POP3 和 ...
这个“javamail发送邮件.zip”压缩包显然包含了一个示例项目,演示如何使用JavaMail API发送包含正文文本、图片以及附件的邮件。以下是对这个主题的详细解释: 1. **JavaMail API**: JavaMail API 是一组接口和类...
在本篇文章中,我们将深入探讨如何使用JavaMail API来实现邮件的发送功能。 首先,我们需要引入JavaMail所需的依赖库。在提供的文件列表中,我们看到有以下jar文件: 1. mail.jar:这是JavaMail的核心库,包含了...
JavaMail 是一个开源库,它提供了在Java应用程序中发送和接收电子邮件的标准API。这个源码示例是关于如何使用JavaMail来发送带有附件...这个源码示例是一个很好的起点,帮助开发者理解并应用JavaMail发送带附件的邮件。
### JavaMail 发送 HTML 格式邮件的知识点详解 ...综上所述,使用 JavaMail 发送 HTML 格式的邮件涉及到邮件服务器的配置、邮件内容的构建等多个方面,通过合理的类设计和代码实现可以有效地完成这一任务。
下面是一个使用JavaMail发送邮件的详细示例代码: ```java import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class EmailSender { public ...