【问题标题】:How does the send message work on website's "contact us" form? [closed]发送消息如何在网站的“联系我们”表单上工作? [关闭]
【发布时间】:2014-01-11 18:48:39
【问题描述】:

当您访问大多数网站时,它们都会有一个名为“联系我们”的列,让您可以在其中发送消息。它们的形式如下所示:

<form action="contact" method="post">
<p>Your email address: <input name="email"></p>
<p>Mail subject: <input name="subject"></p>
<p>Mail message: <textarea name="message"></textarea></p>
<p><input type="submit"><span class="message">${message}</span></p>
</form>

我想要的是:当用户点击提交时,我希望这条消息直接发送到我的 gmail(不是通过 Microsoft Outlook)。 它与 JavaMail API 有关。 我正在尝试关注how to send an email from jsp/servlet?http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/javamail/javamail.html。但是分别对它们的 send 或 sendMail 方法感到困惑。

问题:发件人的电子邮件设置每次都会更改。

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

【问题讨论】:

  • 您具体对什么感到困惑?到目前为止,您尝试过什么?
  • 你应该试着用语言表达你的困惑
  • 只有当您的 SMTP 服务器是 Microsoft 时,电子邮件才会通过“Microsoft Outlook”发送。
  • 好的,我正在尝试做这样的事情:stackoverflow.com/contact
  • 好的。您引用的联系页面正在将表单提交到 StackOverflow 的网络服务器 - 如果您在页面上查看源代码,您可以看到详细信息 - 然后服务器决定如何处理它(可能是邮件,或者更有可能添加它到他们的客户服务人员访问的数据库)。所以我认为你想要的确实是一个服务器端的实现。如果需要,用户必须在表单中指定发件人的电子邮件地址。它会通过您选择的任何外发邮件服务器,使用您通常提供给它的任何身份验证。对吗?

标签: java jsp servlets jakarta-mail


【解决方案1】:

最简单的方法是设置一个html mailto form,它将在用户的浏览器中完成所有工作,而不需要任何java或服务器参与。对该词组进行网络搜索会找到更多信息。

更复杂的解决方案的最大优势在于它们在某种程度上隐藏了邮寄地址,这有助于减少垃圾邮件发送者对您的攻击程度。

【讨论】:

【解决方案2】:

您似乎认为它以某种方式登录到用户自己的邮件服务器并发送它,或者其他什么。显然,如果您考虑 5 秒钟,情况并非如此,因为它不要求输入用户名和密码,因此无法登录,某些用户的邮件服务器位于防火墙后面用于出站目的......有各种各样的原因导致这不可能奏效。

所以它实际上必须做的,或多或少是每次都使用相同的邮件服务器。它自己的邮件服务器,或收件人拥有的公司邮件服务器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-18
    • 2021-10-14
    • 2011-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多