web-dev-qa-db-fra.com

Comment configurer php.ini pour utiliser gmail en tant que serveur de messagerie

Je veux apprendre yii comme premier cadre. Et j'essaie de faire fonctionner le formulaire de contact. Mais j'ai eu cette erreur: alt text

J'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]

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

Ensuite, j'ai également modifié la configuration principale dans mon application yii, afin de correspondre au courrier électronique 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, j'ai redémarré wampserver. Puis effacé toutes mes données de navigation. Pourquoi alors je vois encore que son pointant sur le port 25 dans l'erreur. Ai-je raté quelque chose? S'il vous plaît aider.

9
user225269

Voici un script python simple qui pourrait vous permettre d’exécuter un serveur de messagerie sur localhost, vous ne devez 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 __== "__main__":
    smtp_server = SMTPServer(('localhost', 25), None)
    try:
        asyncore.loop()
    except KeyboardInterrupt:
        smtp_server.close()

#end of code

Note: J'ai utilisé args [3] [0] et args [4] comme adresse et message car les args envoyés par mon mail php () correspondaient à un tableau d'args [3] [0] en tant que courrier électronique reçu.

4
ppsreejith

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

smtp_server
smtp_port

Ajoutez le serveur et le numéro de port de votre hôte (vous devrez peut-être 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 des messages depuis un serveur nécessitant une authentification. Donc, un exemple peut être:

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

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

3
lalit mohan
  1. uncomment extension = php_openssl.dll sur 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"

 # --- Configuration de la messagerie --- 
 
 $ G_phpMailer_method = PHPMAILER_METHOD_SMTP; 
 $ g_smtp_Host = 'smtp.gmail.com'; 
 $ g_smtp_connection_mode = 'ssl'; 
 $ g_smtp_port = 465; 
 $ g_smtp_username = 'yourmail @ gmail .com '; 
 $ g_smtp_password = 'yourpwd'; 
 $ g_enable_email_notification = ON; 
 $ g_log_level = LOG_EMAIL | LOG_EMAIL_RECIPIENT; 
 $ G_log_destination = 'fichier: /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 = 'Traqueur de bogues Mantis'; 
 $ g_email_receive_own = OFF; 
 $ g_email_send_using_cronjob = OFF; 
0
evcha

Si vous utilisez WAMP, le fichier php.ini à configurer est présent dans le dossier wamp/bin/Apache/Apache_x_y/bin

où _x_y est lié à la version de la construction Apache utilisée par votre installation de wamp

0
nrip