Properties props = new Properties();
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.smtp.auth", "true");
props.setProperty("mail.host", "smtp.163.com");
Session session = Session.getInstance(props,new Authenticator(){
@Override
protected PasswordAuthentication getPasswordAuthentication() {
// TODO Auto-generated method stub
return new PasswordAuthentication("aaaa","******");
}
});
session.setDebug(true);
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress("\""+MimeUtility.encodeText("小明")+"\" <aaaa@163.com>")); //在邮件的发件人中显示中文
msg.setSubject("复杂的邮件");
msg.setRecipients(RecipientType.TO, InternetAddress.parse(bbb@sina.com,ccc@qq.com));
msg.setReplyTo(new Address[]{new InternetAddress("ccccc@qq.com")}); //回复时默认回复此地址
Multipart msgMultipart = new MimeMultipart("mixed"); //邮件主体,是并列组合关系,因为附件和内容之间是并列的,这里不要用multipart/mixed
msg.setContent(msgMultipart);
MimeBodyPart attch1 = new MimeBodyPart(); //附件1
MimeBodyPart attch2 = new MimeBodyPart(); //附件2
MimeBodyPart htmlBody = new MimeBodyPart(); //主体内容
msgMultipart.addBodyPart(attch1);
msgMultipart.addBodyPart(attch2);
msgMultipart.addBodyPart(htmlBody);
DataSource ds1 = new FileDataSource("E:\\学习文件\\Java\\javamail\\JavaMail API简介(一).doc"); //附件1的文件
DataHandler dh1 = new DataHandler(ds1);
DataSource ds2 = new FileDataSource("E:\\学习文件\\Java\\javamail\\Java邮件发送实例.doc"); //附件2的文件
DataHandler dh2 = new DataHandler(ds2);
attch1.setDataHandler(dh1);
attch2.setDataHandler(dh2);
attch1.setFileName(MimeUtility.encodeText("JavaMail API简介(一).doc")); //设置附件的文件名,不可少(有中文的要编码)
attch2.setFileName(MimeUtility.encodeText("Java邮件发送实例.doc"));
Multipart htmlPart = new MimeMultipart("related"); //主体内容里又包含多部分,是html和图片,它们的关系是依赖,这里不要用multipart/related
htmlBody.setContent(htmlPart);
MimeBodyPart contBody = new MimeBodyPart(); //主体内容里的html内容
MimeBodyPart gifBody = new MimeBodyPart(); //主体内容里的图片内容
htmlPart.addBodyPart(contBody);
htmlPart.addBodyPart(gifBody);
contBody.setContent("<span style='color:green;'>你好吗,朋友!</span><img src='http://www.wwc.com/邮件主体的组合关系.jpg'>", "text/html;charset=gbk");
DataSource gifDS = new FileDataSource("E:\\学习文件\\Java\\javamail\\邮件主体的组合关系.jpg");
DataHandler gifDH = new DataHandler(gifDS);
gifBody.setDataHandler(gifDH);
gifBody.setHeader("Content-Location", MimeUtility.encodeText("http://www.wwc.com/邮件主体的组合关系.jpg")); //设置html部分引用的图片地址
msg.saveChanges(); //把所有的内容保存在message中
// OutputStream msgFile = new FileOutputeam("E:\\学习文件\\Java\\javamail\\测试复杂邮件.eml");
// msg.writeTo(msgFile);
// msgFile.close();
Transport.send(msg);
分享到:
相关推荐
总的来说,`PHPMailer`为PHP开发者提供了一个强大且灵活的邮件发送解决方案,能够处理包括发送附件在内的各种复杂邮件需求。通过熟练掌握`PHPMailer`的使用,你可以提升网站的服务质量和用户体验。
在这个实例中,我们将探讨如何使用Java来发送电子邮件,重点在于SMTP(Simple Mail Transfer Protocol)服务的使用。 首先,我们需要理解JavaMail API,这是一个Java库,允许开发者创建、发送和接收电子邮件。...
在VB(Visual Basic)编程环境中,我们可以利用内置的`System.Net.Mail`命名空间来实现发送带附件的电子邮件功能。...这个功能对于初学者来说是一个很好的实践项目,同时也适用于需要自动化邮件发送的更复杂应用。
在IT领域,特别是办公自动化与企业通信管理方面,利用Outlook宏进行自动化邮件发送是一项高效且实用的技术。本文将深入探讨如何使用Outlook宏来实现向不同联系人发送带有特定附件的邮件,这一过程不仅提高了工作效率...
本资源提供的"多功能QQ邮件发送实例(C# 源码)"是C#编程语言实现的一个实用工具,它允许开发者通过QQ邮箱服务器来发送邮件。下面我们将深入探讨这个实例涉及的关键知识点。 1. **SMTP协议**:SMTP(Simple Mail ...
本示例将深入探讨如何使用C#实现一个简单的邮件发送功能,包括添加附件。以下是一个详细的步骤和相关知识点: 1. **SMTP(Simple Mail Transfer Protocol)服务**:SMTP是互联网上用于发送电子邮件的标准协议。在C#...
以下是一个简单的Python代码实例,展示了如何使用`smtplib`和`email`库发送带有附件的邮件: ```python import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText ...
综上所述,ASP.NET 中的邮件发送是一个实用的功能,它可以通过简单的代码实现复杂的应用场景。通过学习并理解这一实例,开发者可以将其应用于各种项目模块中,提升用户体验并增强系统的交互性。
在邮件发送方面,Poco库提供了Net库中的MailMessage类和SMTPClientSession类,使得开发者能够方便地通过SMTP协议发送电子邮件,包括带有附件的邮件。 首先,我们需要了解SMTP(Simple Mail Transfer Protocol),这...
JavaMail邮件发送实例是Java开发中常见的一个应用场景,主要用于实现程序自动发送电子邮件的功能。这个实例可以帮助开发者理解如何使用JavaMail API来构建邮件服务。在JavaMail API中,我们可以使用MimeMessage类...
本篇文章将深入讲解如何在.NET中利用JMail实现邮件发送,并结合提供的`WebApplication1`项目实例进行详细解析。 首先,我们要了解.NET中的邮件发送基础。在.NET Framework中,`System.Net.Mail`命名空间提供了`...
通过深入理解COM接口和Outlook的API,你可以创建更复杂、更健壮的邮件发送功能。 在提供的压缩包文件中,"Delphi调用OutLook 发邮件"可能包含了具体的示例代码或者详细教程,你可以结合这些资源进一步学习和实践。...
总结来说,通过使用PHP结合Sendmail和SMTP服务器,可以实现更复杂的邮件发送功能,包括HTML邮件、附件、身份验证和加密通信。开发者需要正确配置PHP的`sendmail_path`和Sendmail的`sendmail.ini`,并可能需要了解...
以下是对Spring邮件发送实例的详细讲解。 首先,我们需要在项目中引入Spring Mail的相关依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.springframework.boot ...
本实例将深入探讨如何利用SMTP进行简单的邮件发送开发。 一、SMTP工作原理 SMTP基于TCP/IP协议族,通常使用25号端口进行通信。邮件发送的过程分为以下几个步骤: 1. 客户端与SMTP服务器建立连接。 2. 客户端发送...
在本文中,我们将深入探讨如何使用C#编程语言发送电子邮件,这是基于提供的“邮件发送实例(源码)”的描述。这个实例适用于初学者,它使用了Visual Studio 2008作为开发环境。我们将详细讲解相关的C#知识点,以及...
总的来说,这个项目提供了关于如何在Java环境中利用JavaMail库发送邮件的实用示例,对于开发者来说,这是一个很好的学习资源,能够帮助他们快速理解和应用邮件发送功能。通过这个项目的源码,可以深入理解JavaMail的...
这个实例将向我们展示如何使用JavaMail API在Java中实现邮件发送功能。以下是详细的步骤和相关知识点: 1. **JavaMail API简介**:JavaMail API是Java平台上的标准邮件服务接口,它提供了一系列类和接口,允许开发...