JSP 教程 之 JSP 发送邮件 4

简介: 使用JSP发送带附件的邮件示例,导入必需的库,设置发件人、收件人及邮件服务器,创建`MimeMessage`,添加正文和附件到`Multipart`对象,然后通过`Transport.send()`发送邮件。成功或失败的结果会显示在HTML页面上。

JSP 教程 之 JSP 发送邮件 4

JSP 发送邮件

在邮件中包含附件

这个例子告诉我们如何发送一封包含附件的邮件。

<%@ page import="java.io.,java.util.,javax.mail."%>
<%@ page import="javax.mail.internet.
,javax.activation."%>
<%@ page import="javax.servlet.http.
,javax.servlet.*" %>
<%
String result;
// 收件人的电子邮件
String to = "abcd@gmail.com";

// 发件人的电子邮件
String from = "mcmohd@gmail.com";

// 假设你是从本地主机发送电子邮件
String host = "localhost";

// 获取系统属性对象
Properties properties = System.getProperties();

// 设置邮件服务器
properties.setProperty("mail.smtp.host", host);

// 获取默认的Session对象。
Session mailSession = Session.getDefaultInstance(properties);

try{
// 创建一个默认的MimeMessage对象。
MimeMessage message = new MimeMessage(mailSession);

  // 设置 From: 头部的header字段
  message.setFrom(new InternetAddress(from));

  // 设置 To: 头部的header字段
  message.addRecipient(Message.RecipientType.TO,
                           new InternetAddress(to));

  // 设置 Subject: header字段
  message.setSubject("This is the Subject Line!");

  // 创建消息部分
  BodyPart messageBodyPart = new MimeBodyPart();

  // 填充消息
  messageBodyPart.setText("This is message body");

  // 创建多媒体消息
  Multipart multipart = new MimeMultipart();

  // 设置文本消息部分
  multipart.addBodyPart(messageBodyPart);

  // 附件部分
  messageBodyPart = new MimeBodyPart();
  String filename = "file.txt";
  DataSource source = new FileDataSource(filename);
  messageBodyPart.setDataHandler(new DataHandler(source));
  messageBodyPart.setFileName(filename);
  multipart.addBodyPart(messageBodyPart);

  // 发送完整消息
  message.setContent(multipart );

  // 发送消息
  Transport.send(message);
  String title = "Send Email";
  result = "Sent message successfully....";

}catch (MessagingException mex) {
mex.printStackTrace();
result = "Error: unable to send message....";
}
%>







Send Attachement Email using JSP




<%
out.println("Result: " + result + "\n");
%>



目录
相关文章
|
Java
JSP 教程 之 JSP 国际化 2
**JSP教程:国际化(i18n)与本地化(l10n)**涉及根据用户语言和地区展示内容。关键概念包括区域标识(如&quot;en_US&quot;),`Locale`对象用于检测语言和国家,如`getCountry()`返回地区码,`getDisplayCountry()`显示用户友好的国家名,`getLanguage()`获取语言码,`getDisplayLanguage()`显示语言名,以及`getISO3Country()`和`getISO3Language()`提供3字母缩写。这些方法帮助创建适应不同文化的网站。
171 4
|
Java
JSP 教程 之 JSP 国际化 3
**JSP教程:国际化简述** 了解i18n(国际化)和l10n(本地化),涉及根据用户语言和地区展示内容。区域用如&quot;en_US&quot;标识。`Locale`对象关键方法包括:`getCountry()`显示国家代码,`getDisplayCountry()`显示国家名称,`getLanguage()`和`getDisplayLanguage()`分别用于语言。
153 1
|
自然语言处理 Java 容器
JSP 教程 之 JSP 国际化 1
**JSP教程:国际化简述** 了解关键概念:i18n(国际化)为用户提供多语言版本,l10n(本地化)适应区域文化差异,如印度语版网站。区域标识如&quot;en_US&quot;。JSP利用request的locale属性显示相应版本。通过`request.getLocale()`获取用户区域。教程深入探讨全球化网站的实现。
170 0
|
Java
JSP 教程 之 JSP 国际化 6
**JSP教程-JSP国际化**涉及i18n(页面按访客语言显示不同版本)和l10n(适应不同地区文化)。区域如&quot;en_US&quot;代表美国英语。使用`NumberFormat`进行区域特定货币格式化,
181 4
|
Java
JSP 教程 之 JSP 国际化 7
JSP教程讲解了国际化(i18n)和本地化(l10n),涉及根据用户语言和国家显示内容。区域如&quot;en_US&quot;定义文化与语言。示例代码演示了如何用`NumberFormat`和`getLocale()`格式化区域特定的百分比,展示标题和格式化后的百分比值。
192 3
|
自然语言处理 Java
JSP 教程 之 JSP 国际化 4
JSP 国际化涉及i18n(根据不同用户语言显示内容)和l10n(适应不同地区文化)。区域标识如&quot;en_US&quot;指美国英语。设置`Content-Language`响应头(如`es`为西班牙语)和使用HTML字符实体(如`ñ`、`¡`)确保正确显示多语言内容。示例代码展示如何设置响应内容类型为西班牙语并输出带特殊字符的标题。
190 3
|
缓存 Java
JSP 教程 之 JSP 调试 10
**JSP调试技巧:**利用JDB日志记录服务跟踪问题;查看HTTP头解决客户端/服务器交互异常;浏览器查看原始页面内容排查格式错误;使用Shift-Reload/Shift-Refresh强制刷新,防止缓存影响调试。
150 3
|
Java
JSP 教程 之 JSP 国际化 5
JSP教程讲解了国际化(i18n)和本地化(l10n),涉及根据用户语言和国家展示内容。区域如&quot;en_US&quot;定义文化与语言。示例代码演示了如何利用`java.text.DateFormat`按用户区域(通过`request.getLocale()`获取)格式化日期和时间,展示本地化日期。
144 2
|
Java
JSP 教程 之 JSP 调试 9
**JSP调试涉及客户端/服务器交互的复杂性,常导致错误难以重现。使用JDB进行日志记录以追踪问题,同时检查HTTP头信息有助于诊断运行异常的JSP。了解HTTP结构能更好地分析请求和响应头。**
98 0
|
Java
JSP 教程 之 JSP 调试 8
**JSP调试技巧:借助JDB日志记录和注释辅助排查问题。利用JVM的日志框架JDB记录重要信息,通过添加和分析注释来定位消失的错误源。在240字符内概括了使用日志和注释在调试JSP时的重要性。**
91 0