Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [XAMPP] Problem z wysyłką maila w Windows
Forum PHP.pl > Forum > PHP
polhub
Witam,
Mam zainstalowanego XAMPP Control Panel v.3.2.1. Utworzyłem plik a.php z następuja kodem:

  1. <html>
  2. <body>
  3. <?php
  4. $to = "xyz@gmail.com";
  5. $subject = "tescik";
  6. $message = "Wiadomosc testowa.";
  7. $header = "From:abc@gmail.com \r\n";
  8. $retval = mail ($to,$subject,$message,$header);
  9. if( $retval == true ) { echo "Wysłano."; } else { echo "NIE WYSŁANO."; }
  10. ?>
  11. </body>
  12. </html>


Skofigurowałem plik php.ini zgodnie z instrukcjami podanymi na http://stackoverflow.com/questions/1596537...-from-localhost

Odnalazłem sekcje [mail function] w pliku php.ini, skasowalem zawartość i wstawiłem

  1. SMTP=smtp.gmail.com
  2. smtp_port=587
  3. sendmail_from = abc@gmail.com
  4. sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"


Następnie wykonałem zmiany w pliku C:\xampp\sendmail\sendmail.ini
  1. [sendmail]
  2.  
  3. smtp_server=smtp.gmail.com
  4. smtp_port=587
  5. error_logfile=error.log
  6. debug_logfile=debug.log
  7. auth_username=abc@gmail.com
  8. auth_password=TAJNE
  9. force_sender=xyz@gmail.com


I sprawdzilem ze przy extension=php_openssl.dll w pliku php.ini nie ma średnika

Po wykonaniu wszytskich powyzszych zrestartowałem serwer i odpaliłem mój skrypt.
Niestety skrypt zwrócił "NIE WYSŁANO". Wiadomość nie doszła do adresata ERROR.LOG apache i php pusto. A w sendmail/error.log "15-03-05 19:10:00 : Connection Closed Gracefully."

Gdzie lezy problem? Jak znaleźć przyczynę źródłową problemu?
NickOver
Spróbuj najpierw wpisać problem do googla. Po co zaśmiecać internety?
Ale żeby nie było że sam je zaśmiecam...
XAMPP ma domyślnie wyłączoną funkcje mail() i żeby ją włączyć musisz się trochę natrudzić tongue.gif Poszukaj w google. Poza tym nie uważasz ze wysyłanie maili z xamppa było by idealnym narzędziem do spamu?
polhub
Szukałem w Google - dowodem jest link który jest podałem w poście
Funkcja mail jest włączona - gdyby była wyłączona to nie byłoby zapisu w logu sendmaila.

Teraz możesz się zastanowić kto "zaśmieca internety"
NickOver
Ok, przepraszam. Niedoczytałem.
Weź wysyłanie maila w try catch'a i wrzuć to co wypluwa.
polhub
Wynikiem poniższego skryptu jest komunikat - Przeszło!

  1. <?php
  2.  
  3. try {
  4. $to = "abc@gmail.com";
  5. $subject = "This is subject";
  6. $message = "This is simple text message.";
  7. $header = "From:xxx@gmail.com \r\n";
  8. mail ($to,$subject,$message,$header);
  9. echo 'Przeszło!';
  10. }
  11.  
  12. catch(Exception $e) {
  13. echo 'Message: ' .$e->getMessage();
  14. }
  15. ?>
robertpiaty
Czemu nie użyjesz jakiejś gotowej biblioteki PHP np. phpmailer. Używając rozszerzenia do wysyłki maili masz ten komfort że jeśli chcesz zmienić dane konta z którego wysyłasz maile to nie musisz zmieniać ustawienia serwera.
polhub
Cytat(robertpiaty @ 6.03.2015, 19:35:54 ) *
Czemu nie użyjesz jakiejś gotowej biblioteki PHP np. phpmailer. Używając rozszerzenia do wysyłki maili masz ten komfort że jeśli chcesz zmienić dane konta z którego wysyłasz maile to nie musisz zmieniać ustawienia serwera.


Skorzystalem z polecanej przez Ciebie biblioteki i skrypt umieszczony w folderze biblioteki tj. PHPMailer-master zwraca:

"Message could not be sent. Mailer Error: SMTP connect() failed."

Ustawienia:
  1. <?php
  2. require 'PHPMailerAutoload.php';
  3.  
  4. $mail = new PHPMailer;
  5.  
  6. //$mail->SMTPDebug = 3; // Enable verbose debug output
  7.  
  8. $mail->isSMTP(); // Set mailer to use SMTP
  9. $mail->Host = 'smtp.gmail.com'; // Specify main and backup SMTP servers
  10. $mail->SMTPAuth = true; // Enable SMTP authentication
  11. $mail->Username = 'tajne@gmail.com'; // SMTP username
  12. $mail->Password = 'tajne'; // SMTP password
  13. $mail->SMTPSecure = 'ssl'; // Enable TLS encryption, `ssl` also accepted
  14. $mail->Port = 587; // TCP port to connect to
NickOver
Nie moze polczyc sie z serwerem google. Na pewno wpisales poprawne dane?
W googlu znalazlem cos takiego KLIK
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.