【问题标题】:How to send email with servlet?如何使用 servlet 发送电子邮件?
【发布时间】:2014-01-28 13:22:22
【问题描述】:

我正在用 html 格式制作电子邮件提交表单,当用户点击“提交”时,电子邮件会通过 Microsoft Outlook 发送。这是我的代码:

<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript">
    function sendMail() {
        var link = "mailto:jshao745@gmail.com"
                        + "&subject=" + encodeURIComponent (document.getElementById('subject').value)
                        + "&body=" + encodeURIComponent (document.getElementById('body').value)
                ;

        window.location.href = link;
    }
</script>
<style>
    textarea
    {
        resize: none;
    }
</style>
</head>
<body>
subject:<br>
<input type="text" name="subject" id="subject"><br>
Type your message here:<br>
<textarea rows="4" cols="50" id="body">
    This is a email testing.
</textarea>
<button onclick="sendMail(); return false">Send</button>
</body>
</html>

如何进行更改,以便电子邮件是从网页(或确切地说是 JSP)发送到我的 gmail 的目录而不通过 Outlook?我还尝试在上面的表格中添加发件人的电子邮件地址和姓名的输入字段。我知道我需要一个 servlet 才能工作。

我使用 java 7 和 tomcat 7.0。

如果有人可以帮助我,我将不胜感激。

【问题讨论】:

  • 这不是“通过前景”。它正在通过用户的默认邮件客户端,在您的情况下恰好是 Outlook。您需要服务器端代码,这样您就不会涉及用户的邮件客户端。
  • 好的,我该如何实现它们?

标签: java jsp email tomcat servlets


【解决方案1】:

创建一个 servlet 并将表单内容提交给 servlet。 servlet 本身可以使用 JavaMail API 见:http://www.oracle.com/technetwork/java/javamail/index.html 将电子邮件发送给给定的收件人。

servlet 发送邮件后,您可以重定向或转发到任何 jsp 页面。

更新,由于评论:

是的,没错。 how to send an email from jsp/servlet?

但使用 8 票解决方案。不要在您的 JSP 页面中插入您的电子邮件 api 调用。将表单内容作为简单的 http 请求发送到适当的 Servlet。在该 Servlet 中,您可以完成 Tomcat 服务器允许的任何事情。

一些提示:

JavaScipt 将在客户端执行并使用预先配置的电子邮件客户端。 当您使用电子邮件 API 时,一切都发生在服务器端。这意味着你 假装是使用 SMTP 协议的电子邮件服务器。看看这里: http://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol

【讨论】:

猜你喜欢
  • 2010-12-19
  • 2011-04-15
  • 1970-01-01
  • 2019-08-10
  • 1970-01-01
  • 2012-05-17
  • 2023-03-18
  • 2018-08-15
  • 2022-01-10
相关资源
最近更新 更多