我使用taskel安装了Ubuntu 11.04,LAMP。
我发现PHPmail()
无法正常工作。
我想我需要启用它吗?我怎么做?
从php的邮件手册中:
要求
为了使邮件功能可用,PHP需要已安装且可以运行的电子邮件系统。要使用的程序由php.ini文件中的配置设置定义。
这意味着您必须安装某种邮件服务器并配置php才能使用它。通常,此邮件服务器在Ubuntu中是后缀。但是,如果您正在编码的php端最终将存储在托管服务端(例如xmission),则很可能已经在该位置安装了邮件服务器。在这种情况下,只需在线(而不是本地)测试您的网站即可。
如果您需要在自己的系统上对其进行测试,或者打算将其托管在自己的主服务器上,则可以继续进行以下操作:
安装:postfix /sudo apt-get install postfix
在此过程中,系统将询问您要以哪种方式安装postfix。有四种可能的模式:
其余的安装选项取决于您对此常规配置的选择。
您很可能会选择卫星安装。这意味着将使用外部提供程序发送邮件。然后,作为smtp服务器(外发邮件服务器),您必须指定您的提供者smtp。其余选项不言自明。
大多数smtp服务器需要密码验证才能发送邮件。因此,后缀将需要知道该密码。此外,还有一些需要考虑的加密问题(您必须在Google上搜索)。这是使用密码验证(sasl)配置后缀的方式:
通过单击软件中心图标或使用以下命令从终端安装libsasl2-modules 和sasl2-bin :
sudo apt-get install libsasl2-2 libsasl2-modules sasl2-bin
通过添加以下行来启用sasl-auth /etc/postfix/main.cf
# add to /etc/postfix/main.cf
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noplaintext noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
/etc/postfix/sasl_password
用以下行创建一个文件:
smtp.gmail.com [email protected]:USERPASSWORD
替换实际的密码,用户名和smtp地址。
更新后缀:
sudo chmod 600 /etc/postfix/sasl_password # for safety of your smtp password
sudo postmap hash:/etc/postfix/sasl_password
sudo postmap /etc/postfix/sender_canonical
sudo /etc/init.d/postfix restart
您可能需要规避“权限被拒绝”的错误由chown postfix:postfix /etc/postfix
事前。
在大多数情况下,都应该这样做。但是,某些smtp提供程序需要特定的地址作为发送者或加密地址。
相关:PEAR :: Mail界面可能也使您感兴趣。
Gmail(可能还有其他服务)可能不喜欢您尝试以这种方式发送邮件,因为按照他们的标准,它可能被认为是不安全的,并且会阻止您的尝试,即在屏幕上什么也不会发生,或者整个过程的某处都会被阻止您的身份验证。另外,您的POP3也必须启用。
要对此进行反击,请参见此处。(如果您出于安全考虑,请创建一个虚拟Gmail帐户)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句