2013-05-08 95 views
2
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, "ssl") 

->setUsername('username') 
->setPassword('password'); 

$username = $_SESSION['username']; 
$from = $_POST['from']; 
$to = $_POST['to']; 
$subject = $_POST['subject']; 
$body = $_POST['message']; 

$message = Swift_Message::newInstance($subject) 

->setFrom(array($from => $username)) 
->setTo(array($to)) 
->setBody($body); 

$mailer = Swift_Mailer::newInstance($transport); 
$result = $mailer->send($message); 

错误的网页浏览器返回:无法使用斯威夫特梅勒发送电子邮件

致命错误:未捕获的异常“Swift_TransportException”有消息“连接不能与主机smtp.gmail.com [无法建立找到套接字传输“ssl” - 您是否忘记在配置PHP时启用它? #157919304]'在C:\ Program Files \ xampp \ htdocs \ healthcare system \ swift \ lib \ classes \ Swift \ Transport \ StreamBuffer.php:259堆栈跟踪:#0 C:\ Program Files \ xampp \ htdocs \ healthcare system \ Swift \ Transport \ StreamBuffer.php(64):Swift_Transport_StreamBuffer - > _ establishSocketConnection()#1 C:\ Program Files \ xampp \ htdocs \ healthcare system \ swift \ lib \ classes \ Swift \ Transport \ AbstractSmtpTransport .php(115):Swift_Transport_StreamBuffer-> initialize(Array)#2 C:\ Program Files \ xampp \ htdocs \ healthcare system \ swift \ lib \ classes \ Swift \ Mailer.php(80):Swift_Transport_AbstractSmtpTransport-> start()# 3 C:\ Program Files \ xampp \ htdocs \ healthcare system \ mail_process.php(32):Swift_Mailer-> send(Object(Swift_Message))#4 {main}抛出C:\ Program Files \ xampp \ htdocs \ healthcare system \ swift \ Transport \ StreamBuffer.php on line 259

+0

请帮助....我一直在尝试用PHP发送邮件的方法很多,但一直都让我失望......这个功能对于我的Final Year Project至关重要运行良好.....需要帮助!谢谢大家提前... – 2013-05-08 05:03:29

+0

这个错误出现后,由MIss Poo给出的语法更正。当我试图通过Swift Mailer发送测试邮件时,这也是我得到的传统错误。回到零点。什么必须在PHP中配置?或者它是一个迅捷梅勒配置错误....请帮助 – 2013-05-08 05:57:30

回答

0

替换下面的代码:

$message = Swift_Message::newInstance('$subject') 

->setFrom(array('$from' => '$username')) 
->setTo(array('$to')) 
->setBody('$body'); 

随着

$message = Swift_Message::newInstance($subject) 

->setFrom(array($from => $username)) 
->setTo(array($to)) 
->setBody($body); 

如这里使用的是单引号是在你的代码的问题。

0

替换此

- > setUsername( '用户名')

- > setPassword( '密码');

$ transport-> setUsername('username');/*注意:用户名是您的Gmail用户名(例如
[email protected])*/

$ transport-> setPassword('password');/密码是你的gmail密码/