`
newleague
  • 浏览: 1505035 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

邮件实例

阅读更多

package test.javamail;

import java.util.Date;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.BodyPart;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;

// 利用java.mail的邮件发送程序** /

public class SendMailTest {
 public static void main(String[] args) {
  String title = "SendMailTest_title";
  // 所发送邮件的标题
  String from = "*****@163.com";
  // 从那里发送
  String sendTo[] = { "***@163.com", "***@163.com" };
  // 发送到那里 // 邮件的文本内容,可以包含html标记则显示为html页面
  String content = "mail test!!!!!!<br><a href=#>aaa</a>";
  // 所包含的附件,及附件的重新命名
  String fileNames[] = { "d:\\text1.txt,text1.txt",
    "d:\\text2.txt,text2.txt" };
  try {
   sendmail(title, from, sendTo, content, fileNames,
     "text/html;charset=gb2312");
  } catch (Exception ex) {
   ex.printStackTrace();
  }
 }

 @SuppressWarnings("static-access")
 public static void sendmail(String subject, String from, String[] to,
   String text, String[] filenames, String mimeType) throws Exception {
  // 可以从配置文件读取相应的参数
  Properties props = new Properties();
  String smtp = "smtp.cnlaunch.com";
  // 设置发送邮件所用到的用户名和密码
  String servername = "***";
  String serverpaswd = "***";
  javax.mail.Session mailSession;
  // 邮件会话对象
  javax.mail.internet.MimeMessage mimeMsg;
  // MIME邮件对象
  props = java.lang.System.getProperties();
  // 获得系统属性对象
  props.put("mail.smtp.host", smtp);
  // 设置SMTP主机
  props.put("mail.smtp.auth", "true");
  // 是否到服务器用户名和密码验证
  // 到服务器验证发送的用户名和密码是否正确
  Email_Autherticatorbean myEmailAuther = new Email_Autherticatorbean(servername, serverpaswd);
  // 设置邮件会话
  mailSession = javax.mail.Session.getInstance(props,
    (Authenticator) myEmailAuther);
  // 设置传输协议
  javax.mail.Transport transport = mailSession.getTransport("smtp");
  // 设置from、to等信息
  mimeMsg = new javax.mail.internet.MimeMessage(mailSession);
  if (from != null && !from.equals("")) {
   InternetAddress sentFrom = new InternetAddress(from);
   mimeMsg.setFrom(sentFrom);
   // 设置发送人地址 } // 收件人
   InternetAddress[] sendTo = new InternetAddress[to.length];
   for (int i = 0; i < to.length; i++) {
    System.out.println("发送到:" + to[i]);
    sendTo[i] = new InternetAddress(to[i]);
   }
   // 抄送
   InternetAddress[] sendToCC = new InternetAddress[2];
   sendToCC[0] = new InternetAddress("***@163.com");
   sendToCC[1] = new InternetAddress("***@163.com");
   // 密送
   InternetAddress[] sendToBCC = new InternetAddress[2];
   sendToBCC[0] = new InternetAddress("***@163.com");
   sendToBCC[1] = new InternetAddress("***@163.com");
   mimeMsg.setRecipients(
     javax.mail.internet.MimeMessage.RecipientType.TO, sendTo);
   mimeMsg.setRecipients(
     javax.mail.internet.MimeMessage.RecipientType.CC, sendToCC);
   mimeMsg.setRecipients(
     javax.mail.internet.MimeMessage.RecipientType.BCC,
     sendToBCC);
   mimeMsg.setSubject(subject, "gb2312");
   MimeBodyPart messageBodyPart1 = new MimeBodyPart();
   messageBodyPart1.setContent(text, mimeType);
   Multipart multipart = new MimeMultipart();
   // 附件传输格式
   multipart.addBodyPart(messageBodyPart1);
   for (int i = 0; i < filenames.length; i++) {
    MimeBodyPart messageBodyPart2 = new MimeBodyPart();
    // 选择出每一个附件名
    String filename = filenames[i].split(",")[0];
    System.out.println("附件名:" + filename);
    String displayname = filenames[i].split(",")[1];
    // 得到数据源
    FileDataSource fds = new FileDataSource(filename);
    // 得到附件本身并设置到
    messageBodyPart2.setDataHandler(new DataHandler(fds));
    // 得到文件名同样设置到
    messageBodyPart2.setFileName(MimeUtility
      .encodeText(displayname));
    multipart.addBodyPart(messageBodyPart2);
   }
   mimeMsg.setContent(multipart);
   // 设置信件头的发送日期
   mimeMsg.setSentDate(new Date());
   mimeMsg.saveChanges();
   // 发送邮件
   transport.send(mimeMsg);
   transport.close();
  }
 }
}

 /**
  * * 验证类(内部类)**
  *
  * @author Administrator*
  */
 class Email_Autherticatorbean extends Authenticator {
  private String m_username = null;
  private String m_userpass = null;

  public void setUsername(String username) {
   m_username = username;
  }

  public void setUserpass(String userpass) {
   m_userpass = userpass;
  }

  public Email_Autherticatorbean(String username, String userpass) {
   super();
   setUsername(username);
   setUserpass(userpass);
  }

  public PasswordAuthentication getPasswordAuthentication() {
   return new PasswordAuthentication(m_username, m_userpass);
  }
 }

 

分享到:
评论

相关推荐

    java发送邮件实例

    2. **创建邮件消息(Message)**:使用`MimeMessage`类创建邮件实例。我们可以设置邮件的发件人、收件人、抄送人、密送人、主题和正文。如果是HTML格式的邮件,可以使用`MimeBodyPart`和`Multipart`类来构造复杂的...

    JavaMail的邮件实例

    本篇将深入探讨 JavaMail 的邮件实例,以及如何利用它来创建、发送和接收邮件。 在 JavaMail 中,主要涉及的核心接口和类包括 `Session`、`Message`、`MimeMessage`、`Transport` 和 `Store`。`Session` 是整个邮件...

    INDY10发送邮件实例

    在IT行业中,发送电子邮件是一项常见的任务,特别是...通过以上步骤,你可以构建一个完整的邮件发送实例,实现从你的应用程序中发送邮件的功能。在实际开发中,可以根据具体需求进行调整和优化,以满足不同场景的需求。

    Delphi发邮件实例源码.rar

    在本文中,我们将深入探讨如何使用Delphi编程语言发送电子邮件,特别关注"Delphi发邮件实例源码.rar"这个压缩包中的示例。这个实例基于SendDLL.dll控件,它是一个方便的第三方组件,用于在Delphi应用程序中实现邮件...

    java 发邮件实例

    在Java编程中,发送电子邮件是一项常见的任务,尤其在自动化通知、报表发送或用户验证等场景中。本篇文章将深入探讨如何使用Java实现邮件发送功能,主要基于`javax.mail`库,这是一个标准的Java邮件API。 首先,...

    java实现发邮件实例

    本文将详细介绍如何使用Java实现发送邮件的实例,并提供所需的库和步骤。 首先,JavaMail API是Java中用于处理邮件的核心库。在描述中提到的"jar包"很可能是JavaMail相关的依赖,例如`javax.mail`和`javax.mail-api...

    读取邮件实例源码下载

    以上就是“读取邮件实例源码”所涵盖的技术点。通过分析并理解这个源码,开发者可以学习如何构建自己的邮件管理工具,从而提高工作效率或开发更复杂的邮件应用。在实际开发过程中,还应考虑性能优化、用户体验以及与...

    ruby收取邮件实例

    ### Ruby收取邮件实例详解 在IT领域,使用编程语言处理电子邮件是常见的需求之一,而Ruby作为一门优雅且功能丰富的脚本语言,在这方面提供了强大的支持。本文将深入解析一个Ruby脚本,该脚本用于通过POP3协议收取...

    Spring mail发送邮件实例

    ### Spring Mail 发送邮件实例详解 #### 一、Spring Mail 概述 Spring Mail 是 Spring 框架中用于处理电子邮件发送的一个模块。它提供了一种简单的方式来进行邮件的发送,支持多种邮件发送协议,例如 SMTP 等,...

    C#WinForm WebForm发送邮件实例

    3. **C# 发送邮件实例** 在实际项目中,可能还需要考虑其他因素,如添加附件、设置抄送和密送、HTML格式的邮件正文等。`MailMessage`类提供了这些功能: - 添加附件:`message.Attachments.Add(new Attachment(...

    使用Log4net发送日志邮件实例

    在"使用Log4net发送日志邮件实例"中,我们将探讨如何利用Log4net的功能,将日志信息通过电子邮件发送,以便于实时监控和快速响应潜在的问题。 首先,你需要在项目中引用Log4net库。这可以通过NuGet包管理器完成,...

    pop3收邮件实例winform源码

    这个"pop3收邮件实例winform源码"提供了一个实际的例子,展示如何在C#或.NET Framework中实现这样的功能。 首先,我们要了解POP3的基本工作流程。当用户想要获取邮件时,客户端应用会连接到POP3服务器,通过身份...

    c#发送电子邮件实例源码

    ### C#发送电子邮件实例解析 在本篇文章中,我们将详细探讨如何使用C#语言来实现电子邮件的发送功能。本文将基于提供的代码示例进行深入分析,帮助读者理解每个部分的作用及其背后的逻辑。 #### 一、引入命名空间 ...

    java 接收邮件实例

    一个独立的java 接收邮件实例,平时java发邮件这块应该说是资源都比较丰富了。但收这块比较少,所以就整合了一下相关资源。

    使用javamail,commons-mail发送邮件实例

    4. **构建邮件**:使用`Commons-Mail`的`Email`类创建邮件实例,设置收件人、发件人、主题和正文: ```java Email email = new SimpleEmail(); email.setFrom("your-email@example.com"); email.setSubject(...

    Labview自动发送邮件实例,内涵完整账号密码

    Labview自动发送邮件实例,内涵完整账号密码 1-可执行版 2-可发送附件版 3-邮件发送

    接收邮件实例接收邮件实例

    在提供的"Example7-接收邮件实例"压缩包中,应该包含了实现以上步骤的源代码示例,你可以参考这个实例来进一步学习和理解如何在C#中接收邮件。通过深入研究和实践,你可以熟练地运用这些技术,构建出高效稳定的邮件...

    asp.net发送邮件实例

    本实例是基于 ASP.NET 的 WebForm 平台实现的邮件发送功能。 首先,我们要了解 ASP.NET 中发送邮件的基本步骤。这通常涉及到使用 `System.Net.Mail` 命名空间中的 `SmtpClient` 和 `MailMessage` 类。`SmtpClient` ...

Global site tag (gtag.js) - Google Analytics