mail() w WAMP'ie

0

Witam.

Szukałem już wszędzie ale nie mogę znaleźć odpowiedzi jak wysyłać maile w wampie.

PHP

 $headers = "From: [email protected]\r\n";
mail('[email protected]', 'Witaj', 'Oto test funkcji mail',$headers);

php.ini z folderu Apache2.2.21:

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = smtp.gmail.com
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = [email protected]

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
;sendmail_path =

; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =

; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header = On

; Log all mail() calls including the full path of the script, line #, to address and headers
;mail.log = 

Niestety mail się nie wysyła a w apache_error.log mam taki bład:
error] [client 127.0.0.1] PHP Warning: mail() [<a href='function.mail'>function.mail</a>]: SMTP server response: 530 5.7.0 Must issue a STARTTLS command first. x19sm23150994fag.5 in C:\\wamp\\www\\part_list\\views\\part_list\\rejestracja.php on line 41, referer: http://127.0.0.1/part_list/index.php?view=rejestracja&value=0

Jak to naprawić ? :)

2

Proponuję użyć biblioteki do wysyłania maili (SwiftMailer, PHPMail...) zamiast dzikich węży wbudowanych w php.

0

Serwer wymaga bezpiecznego połączenia - jak wyżej polecam użyć gotowej biblioteki - np. popularnego PHP Mailera.

0

No to napisałem skrypt w php z tą biblioteka którą poleciliście. Wszystko fajnie pięknie ale nie działa :D

Próbowałem z WAMPSerwerem w trybie online i offline zawsze to samo.

<?php
    require_once("phpmailer/class.phpmailer.php");
    $mail = new PHPMailer();

    $mail->PluginDir = "phpmailer/";
    $mail->Mailer = "smtp";
    $mail->Host = "ssl://smtp.gmail.com";
    $mail->Port = 465;

    $mail->SMTPKeepAlive = true;
    $mail->SMTPAuth = true;
    $mail->Username = "parts.database";
    $mail->Password = "*********";

    $mail->SetLanguage("en", "phpmailer/language/");
    $mail->CharSet = "UTF-8";
    $mail->ContentType = "text/html";

    $mail->From = "[email protected]";
    $mail->FromName = "Zespół DBE";
    $mail->Subject = "Rejestracja na DBE";
    $mail->Body = "Gratulacje zalogowałeś się na DBE";

    $mail->AddAddress("[email protected]");

    if($mail->Send())
    echo "Mail został wysłany <br>";
    else 
    echo "Mail nie mogl byc wyslany <br>".$mail->ErrorInfo;

    $mail->SmtpClose();

?> 

wyskakuje mi taki błąd:

SMTP Error: Could not connect to SMTP host. Mail nie mogl byc wyslany
SMTP Error: Could not connect to SMTP host.
Męczę to już 2 godziny i nie wiem gdzie jest błąd :)

0

Działa.

Okazało się, że nie otworzyłem ssl.

php.ini
;extension=php_openssl.dll
trzeba było zamienić na:
extension=php_openssl.dll

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0