我想学习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.而且还在windows 7防火墙中打开了那个端口。通过入境规则。
然后我也编辑了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。我错过了什么吗?请帮忙。
答案 0 :(得分:4)
这是一个简单的python脚本,可以让你在localhost上运行一个邮件服务器,你不必改变任何东西。对不起,如果我有点晚。
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]的数组作为receipent email < / p>
答案 1 :(得分:3)
如果您在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
ps:你不应该在这里使用你的个人邮件。原因很明显。
答案 2 :(得分:0)
如果使用WAMP,要配置的php.ini存在于wamp / bin / apache / Apache_x_y / bin文件夹中
其中_x_y与您的wamp安装使用的Apache版本的版本相关
答案 3 :(得分:0)
在WAMP服务器的php.ini中取消注释extension = php_openssl.dll(“D:\ wamp \ bin \ apache \ Apache2.4.4 \ bin \ php.ini”)
在文件“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 = '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;