Jah*_*mic 0 java email session jsp tomcat
我已经接管了一些旧的遗留JSP代码,并希望为它添加一些邮件支持.嗯,它没有那么顺利,因为我得到错误,例如:
Session cannot be resolved to a type
An error occurred at line: 39 in the jsp file: /xxxxx/test.jsp
Message cannot be resolved to a type
MimeMessage cannot be resolved to a type
Run Code Online (Sandbox Code Playgroud)
等等
代码,样品取自某处(不漂亮......):
<%@ page import="java.util.*" %>
<%@ page import="javax.mail.*" %>
<%@ page import="javax.mail.internet.*" %>
<%@ page import="javax.activation.*" %>
<%@ page session="true"%>
<html>
<head>
<title>JSP JavaMail Example </title>
</head>
<body>
<%
String to = "sssssss@gmail.com";
String from = "admin@yyyyyy.com";
String subject = "subject";
String messageText = "body";
Properties props = System.getProperties();
//props.put("mail.host", host);
//props.put("mail.transport.protocol", "smtp");
Session mailSession = Session.getDefaultInstance(props, null);
Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = {new InternetAddress(to)};
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject(subject);
msg.setSentDate(new Date());
msg.setText(messageText);
Transport.send(msg);
%>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
谷歌搜索表明实际邮件罐可能丢失,所以我下载javamail,解压缩罐子并将它们放入tomcat WEB-INF目录.没有变化.
这是一个带有CentOs(5.5?)的rackhostcloud设置.这是由旧团队配置的(早已不复存在).可以说,我不会被称为最好的Linux管理员,但基本命令行的东西没有问题.我可以运行yum得很好,但我认为此时还有更多内容.也许是一些Java配置?
我只想发一封简单的邮件......
任何建议,非常感谢.
邮件罐需要进入WEB-INF/lib,而不是WEB-INF.您需要重新启动应用程序或整个tomcat服务器才能使其生效.
根据您的描述,我猜你正在使用$ TOMCAT_HOME/webapps /中的爆炸webapp目录.首先要注意的是:如果目录旁边有一个.war,那么战争就是"真相的来源".战争是一种网络ARchive.它基本上是一个包含整个webapp目录的zip文件,而Tomcat为了性能目的提取该目录.这对你来说意味着无论你对目录做了什么,如果战争文件的时间戳以某种方式得到更新,它将把你对目录所做的所有更改都吹走,并再次用战争的内容替换它.
此后,为了使用邮件类,您需要的是一个文件结构,如:
$TOMCAT_HOME
bin
conf
lib
...
webapps
<your app>
test.jsp (Can be in any directory under <your app> except WEB-INF)
WEB-INF
lib
mail.jar
activation.jar
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26681 次 |
| 最近记录: |