i am trying send email using web2py with gmail and using smtp setting i have attached all code(我正在尝试使用 web2py 和 gmail 发送电子邮件并使用 smtp 设置我已附加所有代码)
问题描述
我正在尝试在 web2py 中创建一个表单,该表单在提交时将消息发送到电子邮件帐户主要是我使用 SQLFORM.factory 创建表单,然后我使用 gluon.tools import mail 导入发送电子邮件功能.我已经设置了我能想到的所有东西,但仍然在 web2py 中运行此代码,它给出了未能发送电子邮件抱歉".
i am trying to create a form in web2py which sends message to an email account on submission mainly i used SQLFORM.factory to create the form then i used gluon.tools import mail to import the send email functionality. i have set up everything i can think of but still on running this code in web2py it gives out that "fail to send email sorry".
from gluon.tools import Mail
mail = Mail()
mail.settings.server = 'smtp@gmail.com:465'
mail.settings.sender = 'myemail@gmail.com'
mail.settings.login = 'myemail@gmail.com:secret'
def index():
form = SQLFORM.factory(
Field('name', requires=IS_NOT_EMPTY()),
Field('email', requires =[ IS_EMAIL(error_message='invalid email!'), IS_NOT_EMPTY() ]),
Field('subject', requires=IS_NOT_EMPTY()),
Field('message', requires=IS_NOT_EMPTY(), type='text')
)
if form.process().accepted:
session.name = form.vars.name
session.email = form.vars.email
session.subject = form.vars.subject
session.message = form.vars.message
x = mail.send(to=['otheremail@yahoo.com'],
subject='project minerva',
message= "Hello this is an email send from minerva.com from contact us form.
Name:"+ session.name+"
Email : " + session.email +"
Subject : "+session.subject +"
Message : "+session.message+ ".
"
)
if x == True:
response.flash = 'email sent sucessfully.'
else:
response.flash = 'fail to send email sorry!'
#response.flash = 'form accepted.'
elif form.errors:
response.flash='form has errors.'
return dict(form=form)
推荐答案
在使用 mail.send() 之前,我建议测试一下邮件是否设置正确:
Before using mail.send() I would recommend to test if mail is correctly set :
if form.process().accepted:
session.name = form.vars.name
session.email = form.vars.email
session.subject = form.vars.subject
session.message = form.vars.message
if mail:
if mail.send(to=['otheremail@yahoo.com'],
subject='project minerva',
message= "Hello this is an email send from minerva.com from contact us form.
Name:"+ session.name+"
Email : " + session.email +"
Subject : "+session.subject +"
Message : "+session.message+ ".
"
):
response.flash = 'email sent sucessfully.'
else:
response.flash = 'fail to send email sorry!'
else:
response.flash = 'Unable to send the email : email parameters not defined'
elif form.errors:
response.flash='form has errors.'
然后尝试改变:
mail.settings.server = 'smtp@gmail.com:465'
在
mail.settings.server = 'smtp.gmail.com:465'
或
mail.settings.server = 'smtp.gmail.com:587'
这篇关于我正在尝试使用 web2py 和 gmail 发送电子邮件并使用 smtp 设置我已附加所有代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:我正在尝试使用 web2py 和 gmail 发送电子邮件并使用 smtp 设置我已附加所有代码


基础教程推荐
- 用于分类数据的跳跃记号标签 2022-01-01
- 筛选NumPy数组 2022-01-01
- 如何让 python 脚本监听来自另一个脚本的输入 2022-01-01
- Dask.array.套用_沿_轴:由于额外的元素([1]),使用dask.array的每一行作为另一个函数的输入失败 2022-01-01
- 线程时出现 msgbox 错误,GUI 块 2022-01-01
- 如何在海运重新绘制中自定义标题和y标签 2022-01-01
- 何时使用 os.name、sys.platform 或 platform.system? 2022-01-01
- Python kivy 入口点 inflateRest2 无法定位 libpng16-16.dll 2022-01-01
- 在 Python 中,如果我在一个“with"中返回.块,文件还会关闭吗? 2022-01-01
- 使用PyInstaller后在Windows中打开可执行文件时出错 2022-01-01