我已经编程并开发了一个从头开始定制的CMS包(Apache2+PHP+Mysql+Puspoold+Bitcoin),用于比特币挖掘。我有很多不同的发行版供我的用户使用,还有许多电子邮件程序可供选择(sendmail/postfix)。我的应用程序在我的本地计算机上用sendmail工作得很好,但是它似乎不能在商业类型的VPS系统上工作,包括我自己的VPS系统,这与我的本地计算机是分开的(只是为了弄清楚)。
无论如何,在PHP中使用mail()函数的最佳方法是什么?是否有更好的方法可以让邮件输出实际错误,而不是false?还有跟进问题,有时mail()报告为真,但它从不发送。我感到很失落,我通常从来没有遇到过这么多的PHP错误,我得到它们的修复,最终这个似乎不想工作,即使在重新安装sendmail包后。
注意:我已经编辑了php.ini文件,我的需要仍然没有,检查周围的最佳sendmail实践php
我建议您使用Zend Mail而不是本机send() php函数。为了使用它,您需要复制并包含Zend库(直接在您的应用程序上或在服务器配置中)
下面是一个例子:
$config = array(
'auth' => 'login',
'username' => 'username@gmail.com',
'password' => 'password',
'ssl' => 'tls',
'port' => 587
);
$mailTransport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config);
Zend_Mail::setDefaultTransport($mailTransport);
$mail = new Zend_Mail();
$mail->addTo($email);
$mail->setSubject($subject);
$mail->setBody($message);
$mail->setFrom('username@gmail.com', 'User Name');
//Send it!
try {
$mail->send();
} catch (Exception $e){
}
试试PEAR MAIL
PHPMailer
这里有一些关于如何使用php mailer的例子
http://phpmailer.worxware.com/index.php?pg=examples我通常会通过第三方smtp服务器转发所有邮件。这可以直接在php.ini中完成,也可以通过重新配置本地邮件服务器来转发所有邮件。
使用什么服务器由您决定。你可以尝试建立你自己的,并管理所有的问题与垃圾邮件拦截等。或者使用第三方电子邮件服务,如SendGrid。
尝试PHPMailer:
rohitashv.wordpress.com/2013/01/19/how-to-send-mail-using-php/