在jsp中发送email
在JSP中发送电子邮件
一、通过JSP引擎发送邮件
在支持Sun规范的JSP引擎中,如JSWDK,我们可以利用sun..smtp包来发送电子邮件。需要注意的是,使用Sun的内部规范包可能会影响你的JSP程序的可移植性。以下是一个利用SmtpClient类在JSP文件中发送电子邮件的脚本示例:
```jsp
<%@ page import="sun.smtp.SmtpClient"%>
<%
String to = "";
String from = "";
String host = "smtp.example";
String message = "This is the email body.";
String subject = "This is the email subject.";
try {
SmtpClient client = new SmtpClient();
client.sendMail(host, from, to, subject, message);
} catch (Exception e) {
e.printStackTrace();
}
%>
```
二、使用JavaMail API发送邮件
JavaMail是官方的Java邮件API,其为[ API创建的一个MailSender类示例:
```jsp
<%@ page import="javax.mail." %>
<%@ page import="javax.mailternet." %>
<%
// Recipient's email ID needs to be mentioned.
String to = "";
// Sender's email ID needs to be mentioned
String from = "";
// Assuming you are sending email from localhost
String host = "localhost";
// Get system properties and security authentication
Properties properties = System.getProperties();
properties.setProperty("mail.smtp.host", host);
// Create the password-based authenticator for Gmail
Authenticator auth = new javax.mail.Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("username", "password");
}
};
// Create a Session Object and set the debug property to true
Session session = Session.getInstance(properties, auth);
try {
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("This is the email subject.");
message.setText("This is the email body.");
Transport.send(message);
out.println("Email sent successfully!");
} catch (MessagingException mex) {
mex.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
%>
注:在代码之前,我们有一个约定。前缀`ms_`是为MailSender类变量所保留的,而`str`代表String类型,`astr`代表String数组,`strbuf`代表StringBuffer等。让我们继续深入了解MailSender类的神奇之旅吧!
MailSender类承载着发送邮件的重任。它要求输入发件人地址、收件人地址列表(可以有一个或多个)、可选的抄送地址列表以及邮件主题。我们还可以选择是否开启调试模式。以下是它的构造函数的精彩演绎:
我们从邮件的源头开始设置。将发件人地址赋值给`ms_strFrom`变量,这是邮件的起点。接着,我们将收件人地址列表存储在`ms_astrTo`中,这些地址将作为邮件的目标。我们还设置了调试选项`ms_debugging`以开启或关闭调试模式。接下来,我们要设置SMTP服务器的主机名。这是通过创建属性并获取默认会话来完成的。如果调试模式已开启,会话将记录详细的调试信息。
接下来,我们尝试创建一个MimeMessage对象来承载我们的邮件内容。我们设置发件人的地址,并通过循环将收件人的地址添加到收件人列表中。如果有抄送地址列表,我们也会以同样的方式设置它们。然后,我们设置邮件的主题和正文内容(正文内容将在后面的代码中添加)。在这个过程中,如果出现任何错误(如MessagingException),我们会捕获并处理这些异常。
编程语言
- 在jsp中发送email
- 基于php中使用excel的简单介绍
- 纯javascript前端实现base64图片下载(兼容IE10+)
- PHP实现批量删除(封装)
- php 如何获取数组第一个值
- Window Media Player 播放器
- Python爬虫正则表达式常用符号和方法
- FCKeditor 在chrome中不显示问题
- jQery ajax——load()方法示例介绍
- js将滚动条滚动到指定位置的简单实现方法
- thinkphp框架表单数组实现图片批量上传功能示例
- 基于css3新属性transform及原生js实现鼠标拖动3d立方
- JavaScript的setter与getter方法
- PHP之认识(二)关于Traits的用法详解
- JavaScript判断浏览器和hack滚动条的写法
- Vue2.0 从零开始_环境搭建操作步骤