提问人:bubbl 提问时间:3/9/2010 最后编辑:skaffmanbubbl 更新时间:10/15/2010 访问量:7463
通过电子邮件提交表单
Submitting a form from Email
问:
我正在做一个项目,从电子邮件中提交表格。场景是这样的。我们将向客户必须填写表格的电子邮件列表发送一个表单,一旦他们点击提交,就应该提交表单,服务器应该能够检索填写者提供的值。当我尝试时,它没有将提交按钮视为表单提交,并且没有执行任何操作。谁能帮我解决这个问题。提前致谢。
答:
HTML 表单和客户端代码通常受到大多数电子邮件客户端的限制。这是一个明显的攻击媒介,因此在处理基于 HTML 的电子邮件时,您的能力受到限制。
我建议提供一个网页链接。
可以通过电子邮件提交表格, 我写的发送电子邮件的代码(使用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.
实际上这对我有用,希望它对你也有帮助。
评论