Smtp 如何配置php.ini以使用gmail作为邮件服务器

Smtp 如何配置php.ini以使用gmail作为邮件服务器,smtp,gmail,wamp,php,Smtp,Gmail,Wamp,Php,我想学习yii作为我的第一个框架。我正在努力让联络表生效。但我有一个错误: 我已经从以下位置配置了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

我想学习yii作为我的第一个框架。我正在努力让联络表生效。但我有一个错误:

我已经从以下位置配置了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 = myemail@gmail.com
从这里我看到gmail没有使用端口25,这是php.ini中的默认端口。所以我用了23。并在Windows7防火墙中打开了该端口。通过入站规则

然后,我还编辑了yii应用程序中的主配置,以匹配我正在使用的电子邮件:

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

最后,我重新启动了wampserver。然后清除了我所有的浏览数据。那么为什么我仍然看到它指出端口25中的错误。我错过什么了吗?请提供帮助。

这里有一个简单的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 __name__ == "__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对应于args[3][0]数组作为最近的电子邮件

如果使用WAMP,则要配置的php.ini存在于WAMP/bin/apache/apache_x_y/bin文件夹中


如果_x_y与您的wamp安装所使用的Apache版本相关

如果您在wamp中打开
php.ini
文件,您将发现以下两行:

smtp_server
smtp_port
添加主机的服务器和端口号(您可能需要联系他们了解详细信息)

默认情况下,以下两行不存在:

auth_username
auth_password
因此,您需要添加它们,以便能够从需要身份验证的服务器发送邮件。因此,一个例子可能是:

smtp_server = mail.example.com
smtp_port = 25
auth_username = example_username@example.com
auth_password = example_password
附言:你不应该在这里使用你的私人邮件。原因很明显

  • 在WAMP服务器的php.ini处取消注释extension=php\u openssl.dll(“D:\WAMP\bin\apache\Apache2.4.4\bin\php.ini”)

  • 在文件“D:\wamp\www\mantisbt-1.2.15\config_inc.php”中

  • #---电子邮件配置--- $g_phpMailer_method=phpMailer_method_; $g_smtp_host='smtp.gmail.com'; $g_smtp_连接_模式='ssl'; $g_smtp_port=465; $g_smtp_用户名=yourmail@gmail.com'; $g_smtp_password='yourpwd'; $g_enable_email_notification=ON; $g_log_level=记录电子邮件|记录电子邮件|收件人; $g_log_destination='文件:/tmp/log/mantisbt.log'; $g_管理员\u电子邮件=administrator@example.com'; $g_网站管理员\u电子邮件webmaster@example.com'; $g_from_email='10〕noreply@example.com'; $g\u返回\u路径\u电子邮件=admin@example.com'; $g_from_name=‘螳螂虫追踪者’; $g_email_receive_own=关闭; $g_email_send_使用_cronjob=OFF;
    端口25和23都是错误的。此外,gmail只接受授权后的smtp。所以在某个地方你也必须输入你的用户名和密码。看,我不知道yii是否能够使用TLS或SSLIf发送邮件如果您使用SSL,请输入465。如果您使用的是TLS,请输入587。非常感谢您的格式设置。。因为我是新来的,所以我不知道规则。还有降价风格@Dacrossby
    process\u message
    在我尝试通过php中的
    mail()发送邮件后未调用此问题超出了问题的范围停止搜索repsOMG!服务器伪造它工作正常,我创建了一个运行python的文件。并且在php.ini文件中默认不修复任何内容。我收到了电子邮件。非常感谢。
    # --- 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        = 'yourmail@gmail.com'; 
        $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  = 'administrator@example.com';
        $g_webmaster_email      = 'webmaster@example.com';
        $g_from_email           = 'noreply@example.com';
        $g_return_path_email    = 'admin@example.com';  
        $g_from_name            = 'Mantis Bug Tracker';
        $g_email_receive_own    = OFF;
        $g_email_send_using_cronjob = OFF;