【问题标题】:how to implement an html email form?如何实现一个html电子邮件表单?
【发布时间】:2014-04-01 13:37:50
【问题描述】:

我的一个 html 文件中有一个表单,我想通过表单将电子邮件直接提交到表单的 MAILTO 属性中指定的电子邮件。

表格:

<form role="form" action="mailto:sm.ayman10@gmail.com" method="get" enctype="text/plain">
    <div class="form-group">
        <label for="emailinput"><h4><span class="glyphicon glyphicon-envelope"></span>&nbsp;&nbsp;E-mail</h4></label>
        <input class="form-control" type="email" id="emailinput" placeholder="Entrez votre e-mail">
        </input>
    </div>
    <div class="form-group">
        <label for="messageinput"><h4><span class="glyphicon glyphicon-pencil"></span>&nbsp;&nbsp;Message</h4></label>
        <textarea class="form-control" id="messageinput" placeholder="Ecrivez votre message" rows="3"></textarea>
    </div>
    <br/>
    <div class="text-right">
        <button type="submit" class="btn btn-default">
            <span class="glyphicon glyphicon-upload"></span>&nbsp;&nbsp;Envoyer
        </button>
    </div>
</form>

当我测试并点击它时,我会打开一个 windows live mail 窗口,而不是发送电子邮件到正确的地址。

我需要做什么才能让它发送电子邮件? (信息:我的后端是用 Java 实现的)

【问题讨论】:

    标签: java html forms


    【解决方案1】:

    您不能将 mailto 用作表单操作。您的表单操作必须转到后端代码(例如:servlet)。

    如下更改您的表单:

    <form role="form" action="/SendEmail" method="get" enctype="text/plain">
    <div class="form-group">
        <label for="emailinput"><h4><span class="glyphicon glyphicon-envelope"></span>&nbsp;&nbsp;E-mail</h4></label>
        <input class="form-control" type="email" id="emailinput" placeholder="Entrez votre e-mail">
        </input>
    </div>
    <div class="form-group">
        <label for="messageinput"><h4><span class="glyphicon glyphicon-pencil"></span>&nbsp;&nbsp;Message</h4></label>
        <textarea class="form-control" id="messageinput" placeholder="Ecrivez votre message" rows="3"></textarea>
    </div>
    <br/>
    <div class="text-right">
        <button type="submit" class="btn btn-default">
            <span class="glyphicon glyphicon-upload"></span>&nbsp;&nbsp;Envoyer
        </button>
    </div>
    </form>
    

    对于 servlet 代码示例。请参考此链接http://www.tutorialspoint.com/servlets/servlets-sending-email.htm

    谢谢

    【讨论】:

      【解决方案2】:

      要发送电子邮件,您需要 SMTP 服务器。
      您不能直接从网页发送。

      【讨论】:

        【解决方案3】:

        我不是专家,但如果没有电子邮件 (SMTP) 服务器,您将无法发送电子邮件。如果你没有 SMTP 服务器,可能有一些方法可以通过 Gmail 之类的东西来实现,你必须谷歌一下。

        【讨论】:

          【解决方案4】:

          您无法在客户端使用该代码发送电子邮件。 您需要将数据发送到服务器,如果您使用 java,则可以从那里使用 JavaMail: http://www.oracle.com/technetwork/java/javamail/index.html

          【讨论】:

            【解决方案5】:

            是的,通常我们需要像 JavaMail 这样的邮件框架来发送电子邮件。我认为您正在通过 html 尝试其他一些新功能。

            来自此链接 http://www.html5-tutorials.org/forms/sending-the-data/ 它说“...功能取决于安装在用户计算机上的电子邮件客户端。”

            【讨论】:

              【解决方案6】:

              mailto URI 方案通常会导致浏览器在默认邮件应用程序中打开一封新电子邮件。这基本上是避免重新输入电子邮件地址以及可选的主题和正文的捷径。

              这在mailto Wikipedia article中都有解释:

              在 Internet 号码分配机构 (IANA) 注册的 mailto URI 方案定义了简单邮件传输协议 (SMTP) 电子邮件地址的方案。它允许用户单击网站中的链接来发送电子邮件,而无需先复制目标电子邮件地址并打开电子邮件客户端。虽然它的使用没有严格定义,但这种形式的 URL 旨在用于在激活 URL 时打开用户电子邮件客户端的新消息窗口,地址由“收件人:”字段中的 URL 定义。

              如果您想使用网页来允许编写电子邮件,然后在您单击提交按钮时发送该电子邮件,那么您需要编写一个 servlet(或类似的)来接收表单输入,然后使用JavaMail 使用 SMTP 发送实际的电子邮件。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2021-09-28
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2012-01-04
                相关资源
                最近更新 更多