所以我有点困惑,需要指导。
我正在建立一个包含“联系我们”页面的网站。
我使用 nginx 作为 Web 服务器来托管此网站,并使用 sendmail 作为 MTA。
令人困惑的是是否需要邮件服务器,或者我是否只需通过 nginx 完成所有操作。
我设置了联系我们页面并使用了 php 的 mail() 函数,结果返回了 false。什么都没发送。在寻求帮助后,有人告诉我将参数传递给 sendmail。经过进一步研究,我发现 sendmail 只能通过命令行使用。如果是这样,那么在“联系我们”页面使用 sendmail 就毫无意义了。
我不想设置一个用于个人用途的邮件服务器,只是想从网站发送电子邮件到 Gmail 帐户……好吧,也许只是将该消息转发到 Gmail 帐户。
有人可以帮我理解一下这个概念吗?
答案1
令人困惑的是是否需要邮件服务器,或者我是否只需通过 nginx 完成所有操作。
通常,您需要一个邮件服务器。
此“规则”的例外是,如果您只想发送电子邮件(而不是接收或实际转发),某些脚本语言(例如 PHP)具有可由 Web 服务器在脚本中调用的函数来直接发送电子邮件(正如您所发现的)。
Nginx 本身(不含脚本语言)没有任何电子邮件功能。
我发现 sendmail 只能通过命令行使用。如果是这样,那么在“联系我们”页面上使用 sendmail 就毫无意义了。
“联系我们”页面绝不会以 HTML 以外的任何形式呈现(即使它是由脚本生成的)。我认为这里的重点是使用 sendmail 或其他类似程序可能比摆弄脚本语言的内置函数更可靠。