代码之家  ›  专栏  ›  技术社区  ›  Albert

如何从网页/Web表单发送电子邮件?

  •  0
  • Albert  · 技术社区  · 17 年前

    有哪些技术可以通过网页或网页上的表单发送电子邮件?

    我有一些背景知识,你把表单数据发布到脚本上,但我不知道CGI脚本是什么(我想知道这是不是建议的方法!)或者现在的做法是什么。

    这只是为了给用户提供一些联系运营商的方法。页面内表单似乎比要求用户打开邮件客户端更方便。我还担心机器人程序获取联系电子邮件地址(在mailto:links的情况下)。

    6 回复  |  直到 16 年前
        1
  •  4
  •   dbr    17 年前

    提交表单时,该表单中的数据将被发送到服务器端脚本。例如,在PHP中,使用 $_POST 数组 <input name=""> 成为数组索引。例如。。

    // <form action="mailer.php">[..]<input name="subject" [..]><input name="content" [..]></form>
    echo("The subject is: ". $_POST['subject']);
    echo("The content is:" . $_POST['content']);
    

    在最基本的层次上,您所要做的就是使用内置于邮件函数中的编程语言。同样,在PHP中,这很简单 mail() :

    mail($to, $subject, $message);
    

    你就准备好了 $to 到您的电子邮件地址(do 允许用户设置此设置,或者他们可以将邮件作为“您”发送给任何人-“垃圾邮件”…), $subject $message 将被设置为窗体 $_POST[]

    在进行任何操作之前,请先使用 mail("me@example.com", $_POST['subject'], $_POST['content']); ,想想如果有人重新加载该页200次会发生什么。你 必须 其中包含某种安全性,可能是验证码和/或速率限制。

    有一件事,那是我以前的窃听-记住“联系我们表格”是 一个真正的电子邮件地址的替代品!例如,我的邮件客户机保存了我发送的所有邮件的副本,我可以附加文件,用熟悉的邮件客户机写比用表单好得多。 <textarea> (尤其是当我不小心打了“back”并且表单决定自己清除时)!

        2
  •  1
  •   FlySwat    17 年前

    对于大多数UNIX/BSD/Linux系统,大多数语言都提供了一个围绕mail命令的编程包装器。

        3
  •  0
  •   Michael Kniskern    17 年前

    如果使用的是ASP.NET 2.0,则可以使用System.NET.Mail命名空间。 More information here

        4
  •  0
  •   zappan    17 年前

    今天的Web开发语言通常有用于发送电子邮件的库。这取决于你使用哪种语言,但你可以在你的语言文档中找到它。这非常简单,您语言中的库通常封装并提供您使用的“smtp客户机”行为。您可以提供带有发件人和收件人的邮件,以及用于连接到SMTP服务器的数据。

    或者,有时也可以在Web服务器所在的计算机上使用SMTP功能(如果这些功能可用)。我不确定收件人服务器上的电子邮件是否会变得更糟,因为您的服务器可能无法识别为域的邮件服务器…有经验的人可能会对此发表评论。

        5
  •  0
  •   Matt Howell    17 年前

    好吧,下面是不该做的事情:

    <a href="mailto:someperson@someaddress.com">Please spam me, kthx</a>
    

    让用户提交表单、对输入进行清理并按您认为合适的格式进行格式化,然后用您选择的语言将数据传递给邮件函数,这是一种更好的代码模式。

        6
  •  0
  •   orip    17 年前

    发送邮件应该在服务器端完成——具体情况根据服务器端语言、操作系统以及服务器对SMTP服务器的访问权限而变化。

    如果您正在寻找一种轻量级的方式来向博客或公共网站添加联系人表单,请尝试 Wufoo -您可以添加一个联系人表单,可以很容易地向您发送电子邮件(最多3个表单是免费的)。我不属于他们,我只是觉得他们很酷。