Не могу получить xammp для отправки электронной почты через PHP - PullRequest
0 голосов
/ 03 июня 2011

У меня большие проблемы с попыткой заставить мой php-скрипт отправлять электронную почту.Используя этот скрипт на моем Mac:

 <?php

require_once 'lib/swift_required.php';  
$image = file_get_contents("php://input");  
$attachment = Swift_Attachment::newInstance($image, 'submission.jpg', 'image/jpg'); 

$message = Swift_Message::newInstance()  
    /*Give the message a subject*/  
    ->setSubject('Your subject')  
    /*Set the from address with an associative array*/  
    ->setFrom(array('email'=>'Name'))  
    /*Set the to addresses with an associative array*/  
    ->setTo(array('email'))  
    /*Give it a body*/  
    ->setBody('Email'); 
    $message->attach($attachment);//<--When the attachment above is commented out, so is this  

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

?>

электронная почта отправляет нормально, прикрепляет изображение и отлично.Однако это не работает на окнах.Я читал, что в Windows нет почтового сервера, поэтому последние несколько дней я боролся с hmailserver, mercury, mailsender и т. Д., Пытаясь получить письмо для отправки.Я получаю странную ошибку от swiftmailer:

Fatal error: Uncaught exception 'Swift_TransportException' with message 'Process could not be started [The system cannot find the path specified. ]' in C:\xampp\htdocs\lib\classes\Swift\Transport\StreamBuffer.php:268 Stack trace: #0 C:\xampp\htdocs\lib\classes\Swift\Transport\StreamBuffer.php(66): Swift_Transport_StreamBuffer->_establishProcessConnection() #1 C:\xampp\htdocs\lib\classes\Swift\Transport\AbstractSmtpTransport.php(101): Swift_Transport_StreamBuffer->initialize(Array) #2 C:\xampp\htdocs\lib\classes\Swift\Transport\SendmailTransport.php(61): Swift_Transport_AbstractSmtpTransport->start() #3 C:\xampp\htdocs\lib\classes\Swift\Mailer.php(74): Swift_Transport_SendmailTransport->start() #4 C:\xampp\htdocs\Mail.php(20): Swift_Mailer->send(Object(Swift_Message)) #5 {main} thrown in C:\xampp\htdocs\lib\classes\Swift\Transport\StreamBuffer.php on line 268

Итак, я попробовал базовый скрипт mail (), и он не работает.Я использовал stunnel, и это, похоже, не работает.Я полностью потерян.Ребята, какое-то направление, учебник, все, что вы можете предложить,

1 Ответ

0 голосов
/ 03 июня 2011

В системах Linux почта отправляется из PHP через функцию mail (), которая использует Sendmail.Всякий раз, когда я использую Swiftmailer в Windows, я использую SMTP, что позволяет gmail.

http://www.swiftmailer.org/wikidocs/v3/smtpauth

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...