我有一个Ubuntu服务器12.04用于运行我的Web应用程序。 我假设我的Webapp是用PHP5编写的,运行环境是LAMP,域名是mywebapp.com 。 当访问者在mywebapp.com注册帐户时,网站会自动发送确认邮件。 但是我的系统无法发送邮件到用户的收件箱。
我不认为mywebapp.com的代码有错误,因为它使用内置的函数mail() ,并且在hostgator.com和Hostpapa.com上运行良好。 我已经尝试使用命令sudo apt-get install sendmail 。 但没有任何改变。
你能帮我configuration这个系统,这样mywebapp.com可以自动发送邮件给用户,而不需要使用Gmail或Hotmail等第三方电子邮件服务,只需使用mail()函数。 问题的各个方面,大约是:
我的build议是删除sendmail(这不是一个好的,也不是轻的MTA),用postfix取代它,当你使用ubuntu的正常软件安装过程(apt或cli软件中心)安装postfix时,它会问你是什么types的邮件服务器想要安装,正确的答案取决于机器是一个完整的服务器还是只是一个开发/暂存环境。
如果是普通服务器,使用“internet site”作为开发环境,请使用“Internet with Smart host”,并指定要求您的Internet提供商或networkingpipe理员提供您的smtp服务器详细信息。
如果你需要改变postfix的configuration,那么大部分configuration会在/etc/postfix/main.cf ,但是因为你不希望你的服务器成为一个开放的中继,在应用任何configuration改变之后,使用http://www.checkor .com /testing它不是。
给定默认的php.ini设置,你应该可以通过mail()php函数发送邮件。
您不仅应该安装sendmail,还要configuration它或其他MTA。 如果您有中继发送邮件,您应该configurationMTA使用它。 如果你没有中继,你还应该设置一些DNSlogging,以防止你的邮件被当做垃圾邮件。