2011-08-15 40 views
0

我试图在JSP中发送电子邮件,但它看起来像我必须手动设置SMTP服务器不像PHP(PHP使用sendmail)。什么是JSP中的sendmail等价物?

我对JSP有哪些选择?

+0

Sendmail不是SMTP服务器。它仍然需要一个SMTP服务器。 Java的等价物是JavaMail。至于你的问题,你的目标是什么容器? Glassfish等完整的appservers附带捆绑的JavaMail API。 – BalusC

回答

2

最好的办法是,对于纯JSP来说,只是使用Java来发送电子邮件,但更好的方法是编写自己的标签来发送电子邮件,因为我认为把这么多的代码放入JSP页面是一个糟糕的设计。

这里是一个很好的文章有更多的代码,但其基本思想将遵循:

http://www.java-samples.com/showtutorial.php?tutorialid=675

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.setText(messageText); 

Transport.send(msg); 

有关的文章,可能是有点过时,但应该给你足够的信息做自己动手,在JSP标签和邮件,你可以通过这个阅读:

http://java.sun.com/developer/technicalArticles/javaserverpages/emailapps/

0

在JAV一个应用服务器,您可以在2种基本方式访问的SMTP服务器:

通过JNDI查找,如果邮件服务器在您的应用程序服务器配置(下面的例子是JBoss的):

Session ms = (Session) new InitialContext().lookup("java:/Mail"); 

通过直接设置up a Session

Properties props = new Properties(); 
props.setProperty("mail.smtp.host", "mySmtpHost"); 
session = Session.getInstance(props); 
相关问题