2010-11-04 15 views
9

Chcę nauczyć się yii jako mojego pierwszego frameworka. Staram się, aby formularz kontaktowy działał. Ale mam ten błąd: alt textJak skonfigurować php.ini do korzystania z Gmaila jako serwera poczty

Ja już skonfigurowany plik php.ini z:

C:\wamp\bin\php\php5.3.0 

I zmienił domyślne do tych wartości:

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

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

widziałem od tutaj Gmail nie używa portu 25, który jest domyślny w php.ini. Więc użyłem 23. I otworzyłem ten port w zaporze Windows 7. Poprzez reguły przychodzące.

Wtedy też edycja głównego config w mojej aplikacji Yii, aby dopasować e-mail, który używam:

// application-level parameters that can be accessed 
    // using Yii::app()->params['paramName'] 
    'params'=>array(
     // this is used in contact page 
     'adminEmail'=>'[email protected]', 
    ), 
); 

Wreszcie wznowiona -WampSerwer. Następnie wyczyściłem wszystkie moje dane przeglądania. Dlaczego więc nadal widzę, że wskazuje na port 25 w błędzie. Czy coś mi brakuje? Proszę pomóż.

+0

Każdy dom ??? hehe portu – user225269

+2

25 i 23 są zarówno złe. Ponadto gmail akceptuje smtp tylko po autoryzacji.Więc gdzieś musisz podać swoją nazwę użytkownika i hasło. Zobacz http://mail.google.com/support/bin/answer.py?hl=pl&answer=13287 Nie wiem, czy yii jest w stanie wysyłać pocztę przy użyciu TLS lub SSL – wimh

Odpowiedz

4

Oto prosty skrypt python, który może pozwolić na uruchomienie serwera poczty na localhost, nie trzeba nic zmieniać. Przepraszam, jeśli jestem trochę późno.

import smtpd 

import smtplib 

import asyncore 

class SMTPServer(smtpd.SMTPServer): 

    def __init__(*args, **kwargs): 
     print "Running fake smtp server on port 25" 
     smtpd.SMTPServer.__init__(*args, **kwargs) 

    def process_message(*args, **kwargs): 
     to = args[3][0] 
     msg = args[4] 
     gmail_user = 'yourgmailhere' 
     gmail_pwd = 'yourgmailpassword' 
     smtpserver = smtplib.SMTP("smtp.gmail.com",587) 
     smtpserver.ehlo() 
     smtpserver.starttls() 
     smtpserver.ehlo 
     smtpserver.login(gmail_user, gmail_pwd) 
     smtpserver.sendmail(gmail_user, to, msg) 
     print 'sent to '+to 
     pass 

if __name__ == "__main__": 
    smtp_server = SMTPServer(('localhost', 25), None) 
    try: 
     asyncore.loop() 
    except KeyboardInterrupt: 
     smtp_server.close() 

#end of code 

uwaga: stosuje arg [3], [0] i argumentów [4], w celu usunięcia i komunikat jak arg wysyłane przez mego php elektroniczną() odpowiada tablicy argumentach [3], [0] jak receipent email

+0

'' 'process_message''' niewywołane po tym, jak próbuję wysłać przez '' 'mail()' '' w php –

0

przypadku korzystania WAMP, php.ini być skonfigurowany jest obecny w wamp/bin/apache/folderu Apache_x_y/bin

gdzie _x_y jest związany z wersji Apache budować używane przez instalacja wampirów

3

Jeśli otworzysz plik php.ini w WAMP, znajdziesz te dwa li nes:

smtp_server 
smtp_port 

dodać numer portu dla serwera i hosta (może trzeba skontaktować się z nimi szczegóły)

Poniższe dwie linie nie istnieją domyślnie:

auth_username 
auth_password 

Musisz więc dodać je, aby móc wysyłać pocztę z serwera wymagającego uwierzytelnienia. Przykład może być następujący:

smtp_server = mail.example.com 
smtp_port = 25 
auth_username = [email protected] 
auth_password = example_password 

ps: nie powinieneś używać tutaj swojej osobistej poczty. z oczywistego powodu.

+0

dziękuję bardzo za formatowanie. Ponieważ jestem nowy, nie znałem reguł. i styl przecinania .. @DACrosby –

0
  1. Odkomentuj extension = php_openssl.dll w php.ini serwer WAMP ("D: \ wamp \ bin \ apache \ Apache2.4.4 \ bin \ php.ini")

  2. W pliku "D: \ wamp \ www \ MantisBT-1.2.15 \ config_inc.php"

 
    # --- Email Configuration --- 

    $g_phpMailer_method = PHPMAILER_METHOD_SMTP; 
    $g_smtp_host = 'smtp.gmail.com'; 
    $g_smtp_connection_mode = 'ssl'; 
    $g_smtp_port = 465; 
    $g_smtp_username  = '[email protected]'; 
    $g_smtp_password  = 'yourpwd'; 
    $g_enable_email_notification = ON; 
    $g_log_level = LOG_EMAIL | LOG_EMAIL_RECIPIENT; 
    $g_log_destination = 'file:/tmp/log/mantisbt.log'; 
    $g_administrator_email = '[email protected]'; 
    $g_webmaster_email  = '[email protected]'; 
    $g_from_email   = '[email protected]'; 
    $g_return_path_email = '[email protected]'; 
    $g_from_name   = 'Mantis Bug Tracker'; 
    $g_email_receive_own = OFF; 
    $g_email_send_using_cronjob = OFF; 
Powiązane problemy