【问题标题】:Best way to send email [closed]发送电子邮件的最佳方式[关闭]
【发布时间】:2026-02-13 19:15:01
【问题描述】:

我刚开始在一家公司担任网络程序员。

我被指派构建一个网页,其中包括一个简单的表单(访问者姓名、电子邮件和意见),用于向网站所有者发送电子邮件。

我想知道发送此电子邮件的最佳方式是什么?

  • 仅使用 HTML 表单和 MAILTO 函数,或者
  • 我是否也应该使用 JavaScript 进行验证并使用 PHP 和 AJAX 发送电子邮件?

【问题讨论】:

  • 我肯定会做验证。发送电子邮件可能会在很多层面上出错。
  • 顺便说一句,您的问题缺乏上下文。此外,您提出的问题没有一个正确的答案......

标签: javascript php html ajax email


【解决方案1】:

使用邮件()

  • mail() 可以,但有点不可靠,因为如果mail() 返回 TRUE,这并不意味着电子邮件已送达。
  • 如果您使用mail(),请确保您;
    • 应使用 CRLF (\r\n) 分隔多个额外的标头
    • 正文消息行应使用 CRLF (\r\n) 分隔,并且行数不应超过 70 个字符
    • 主题行符合RFC 2047

喜欢的方法

有更好的发送电子邮件的方法,它们比普通的 php mail() 更可靠和“灵活”。

验证

  • 确保验证所有用户输入。如果您不这样做,则攻击者可能会使用您的邮件服务器向大量人发送网络钓鱼电子邮件 - 让您承担责任。
    • 优先在服务器端验证
    • 客户端验证在某种程度上是可选的,因为它可以被客户端禁用。
  • Validate filters
  • preg_match()

【讨论】:

    【解决方案2】:

    您一定要进行验证并使用 php 脚本发送邮件。

    ma​​ilto 表单的问题

    如果您使用 mailto 表单:

    1. 用户必须已安装或设置喜欢的电子邮件应用程序。
    2. 不知道浏览器和邮件客户端通信是否成功

    在第二种情况下,所有输入的信息都会丢失,用户必须再次输入他的意见。

    http://webdesign.about.com/cs/forms/a/aamailtobroke.htm

    【讨论】: