webbrowser.open(' mailto:....')在本地执行环境中启动邮件客户端,但不在生产服务器上启动

时间:2015-07-06 17:58:51

标签: python flask python-webbrowser

我使用以下代码启动带有预定义字段的电子邮件客户端。当我在本地计算机上进行测试时,电子邮件客户端会按预期启动,但不会在生产服务器上进行。在生产服务器上,我只需重定向到' /'。有关什么可能导致电子邮件客户端启动的任何建议?我在所有浏览器上测试过,并没有看到任何行为上的差异。

@app.route('/errorform', methods=['GET', 'POST'])
def errorform():
    form = ErrorForm()
    logs = str(open(file, "r").readlines()[int(file_len(file))]).rstrip()
    if form.validate_on_submit():
        if form.includeLogs.data == False:
            webbrowser.open('mailto:test@mail.com?subject=Feedback&body=<insert your message here>')
            return redirect('/')
        else:
            webbrowser.open('mailto:test@mail.com?subject=Feedback&body=<insert your message here> \n\n Logs: %s' % (logs))
            return redirect('/')
    return render_template('main.html', form=form, show_results=0, page = 'errorform')

1 个答案:

答案 0 :(得分:1)

好的,既然您已经得到了第一个问题的答案,那么就会出现第二个问题的建议:只需重定向到mailto:网址:

@app.route('/errorform', methods=['GET', 'POST'])
def errorform():
    form = ErrorForm()
    logs = str(open(file, "r").readlines()[int(file_len(file))]).rstrip()
    if form.validate_on_submit():
        if form.includeLogs.data == False:
            return redirect('mailto:test@mail.com?subject=Feedback&body=<insert your message here>')
        else:
            return redirect('mailto:test@mail.com?subject=Feedback&body=<insert your message here> \n\n Logs: %s' % (logs))
    return render_template('main.html', form=form, show_results=0, page = 'errorform')

在这里为我工作。