通过电子邮件提交表单

Submitting a form from Email

提问人:bubbl 提问时间:3/9/2010 最后编辑:skaffmanbubbl 更新时间:10/15/2010 访问量:7463

问:

我正在做一个项目,从电子邮件中提交表格。场景是这样的。我们将向客户必须填写表格的电子邮件列表发送一个表单,一旦他们点击提交,就应该提交表单,服务器应该能够检索填写者提供的值。当我尝试时,它没有将提交按钮视为表单提交,并且没有执行任何操作。谁能帮我解决这个问题。提前致谢。

HTML 电子邮件

评论

0赞 JasCav 3/9/2010
你在写这个什么?你有代码来证明你的问题吗?如果没有更多信息,我们无能为力。
3赞 Asaph 3/9/2010
你在这里打了一场失败的仗。许多电子邮件客户端会严格限制您可以在 HTML 电子邮件中包含的标记,以至于许多功能都无法实现。GMail、Yahoo! Mail 和 Hotmail 尤其具有挑战性。我建议将表单托管在 Web 服务器上,并证明电子邮件中的链接。您正在浪费时间试图从电子邮件中获取表单。
0赞 Shikiryu 10/15/2010
最令人印象深刻的案例是新的Outlook。完全删除文本输入/文本区域和按钮。

答:

10赞 Dan 3/9/2010 #1

HTML 表单和客户端代码通常受到大多数电子邮件客户端的限制。这是一个明显的攻击媒介,因此在处理基于 HTML 的电子邮件时,您的能力受到限制。

我建议提供一个网页链接。

1赞 Harish Kurup 10/15/2010 #2

可以通过电子邮件提交表格, 我写的发送电子邮件的代码(使用PHP SwiftMailer),

//Create the Transport
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, "ssl") 
  ->setUsername('[email protected]')
  ->setPassword('*****')
  ;
//Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);
//Create a message
$message = Swift_Message::newInstance('Fill the form')
  ->setFrom(array('[email protected]' => 'Harry'))
  ->setTo(array('[email protected]','[email protected]'))
  ->setBody('<html>' .
            ' <head></head>' .
            ' <body>'.
            ' <form action="http://www.our_domail.com/index.php" method="get">'.
            ' <label>Name: </label><input type="input" id="name"  name="name"/><br/>' .
            ' <label>phone: </label><input type="input" id="phone" name="phone" /><br/>'.
            ' <label>About you: </label><br/>'.
            ' <textarea id="about" name="textb"></textarea> <input type="submit" value="submit" />'.
            ' </form>'.
            ' </body>' .
            '</html>',
            'text/html')
  ;
  //Send the message
  if ($mailer->send($message))
  {
    echo "Sent\n";
  }
  else
  {
    echo "Failed\n";
  }

在“存储箱”中,我得到了表单,该表单在提交时显示一些消息,例如单击“继续”时,它会与表单中的数据一起发布到我的服务器。我不确定我们是否可以在表单中使用 JavaScript 验证或 CSS 样式表。 注意:。You are submitting information to an external page. Are you sure?Although this page is encrypted, the information you have entered is to be sent over an unencrypted connection and could easily be read by a third party. Are you sure you want to continue sending this information? This was tested in Gmail server and i don't know about other mail servers.

实际上这对我有用,希望它对你也有帮助。

评论

2赞 John Magnolia 12/6/2013
显然在 Outlook 中不起作用:campaignmonitor.com/resources/will-it-work/forms
0赞 Quentin 2/4/2020
有相当多的电子邮件客户端不支持 HTML 表单。