2010-11-04 12 views
9

Je veux apprendre yii comme mon premier framework. Et j'essaie de faire fonctionner le formulaire de contact. Mais je suis arrivé cette erreur: alt textComment configurer php.ini pour utiliser gmail comme serveur de messagerie

Je l'ai déjà configuré le fichier php.ini de:

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

Et changé la valeur par défaut à ces valeurs:

[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] 

Je l'ai vu de ici que Gmail n'utilise pas le port 25, qui est le défaut dans le fichier php.ini. J'ai donc utilisé 23. Et a également ouvert ce port dans le pare-feu Windows 7. Via les règles entrantes

Je la config a également édité principale dans mon application yu, pour correspondre à l'e-mail que j'utilise:

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

Enfin, je remis en marche WampServer. Puis effacé toutes mes données de navigation. Pourquoi alors je vois encore que son pointage sur le port 25 dans l'erreur. Ai-je oublié quelque chose? S'il vous plaît aider.

+0

Toute personne maison ??? hehe – user225269

+2

port 25 et 23 sont tous les deux tort. De plus, gmail n'accepte que smtp après autorisation.Donc, quelque part, vous devez également entrer votre nom d'utilisateur et mot de passe. Voir http://mail.google.com/support/bin/answer.py?hl=fr&answer=13287 Je ne sais pas si yii est en mesure d'envoyer des messages en utilisant TLS ou SSL – wimh

Répondre

4

Heres un simple script python qui pourrait vous permettre d'exécuter un serveur de messagerie sur localhost, vous n'avez rien à changer. Désolé si je suis un peu en retard.

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 

Note: J'utilisé args [3] [0] et args [4] pour répondre et un message que les args envoyés par mon courrier php() correspond à un tableau de args [3] [0] comme email receipent

+0

'' 'process_message''' non invoqué après que j'essaie d'envoyer via '' 'mail()' '' dans php –

0

Si vous utilisez WAMP, le php.ini à configurer est présent dans le WAMP/bin/apache/Apache_x_y/bin

où _x_y est lié à la version de l'Apache BUILD utilisé par votre wamp installation

3

Si vous ouvrez le fichier php.ini dans WAMP, vous trouverez ces deux li nda:

smtp_server 
smtp_port 

Ajoutez le serveur et le numéro de port pour votre hôte (vous devrez peut-être de les contacter pour plus de détails)

Les deux lignes suivantes n'existent pas par défaut:

auth_username 
auth_password 

Vous devrez donc les ajouter pour pouvoir envoyer du courrier à partir d'un serveur nécessitant une authentification. Ainsi, un exemple peut être:

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

ps: vous ne devriez pas utiliser votre courrier personnel ici. pour une raison évidente.

+0

merci beaucoup pour le formatage .. Comme je suis nouveau, je ne connaissais pas les règles. et style de démarque .. @DACrosby –

0
  1. l'extension uncomment = php_openssl.dll à php.ini dans le serveur WAMP ("D: \ wamp \ bin \ apache \ Apache2.4.4 \ bin \ php.ini")

  2. Dans le fichier "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; 
Questions connexes