it-swarm.com.ru

Как настроить php.ini для использования gmail в качестве почтового сервера

Я хочу выучить yii как свою первую структуру. И я пытаюсь заставить контактную форму работать. Но я получил эту ошибку: alt text

Я уже настроил файл php.ini из:

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

И изменил значение по умолчанию на эти значения:

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

Отсюда я видел, что gmail не использует порт 25, который используется по умолчанию в php.ini. Поэтому я использовал 23. И также открыл этот порт в брандмауэре Windows 7. Через входящие правила.

Затем я также отредактировал основную конфигурацию в своем приложении yii, чтобы соответствовать адресу электронной почты, который я использую:

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

Наконец я перезапустил wampserver. Затем очистил все мои данные просмотра. Почему тогда я до сих пор вижу, что он указывает на порт 25 в ошибке. Я что-то пропустил? Пожалуйста помоги.

9
user225269

Вот простой скрипт на python, который может позволить вам запустить почтовый сервер на локальном хосте, вам не нужно ничего менять. Извините, если я немного опоздал.

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

Примечание: я использовал args [3] [0] и args [4] в качестве адреса и сообщения, так как аргументы, отправленные моим php mail (), соответствуют массиву args [3] [0] в качестве письма получателя

4
ppsreejith

Если вы откроете файл php.ini в WAMP, вы найдете эти две строки:

smtp_server
smtp_port

Добавьте сервер и номер порта для вашего хоста (вам может потребоваться связаться с ними для получения подробной информации)

Следующие две строки не существуют по умолчанию:

auth_username
auth_password

Поэтому вам нужно будет добавить их, чтобы иметь возможность отправлять почту с сервера, требующего аутентификации. Так что пример может быть:

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

pS: вы не должны использовать вашу личную почту здесь. по очевидной причине. 

3
lalit mohan
  1. расширение для комментария = php_openssl.dll в php.ini на сервере WAMP («D:\wamp\bin\Apache\Apache2.4.4\bin\php.ini»)

  2. В файле "D:\wamp\www\mantisbt-1.2.15\config_inc.php"

 # --- Конфигурация электронной почты ---

 $ 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; 
0
evcha

При использовании WAMP настраиваемый php.ini присутствует в папке wamp/bin/Apache/Apache_x_y/bin

где _x_y относится к версии сборки Apache, используемой вашей установкой wamp

0
nrip