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

webbrowser.open('mailto:....') launches mail client in local execution environment but not on production server

我正在使用以下代码启动带有预定义字段的电子邮件客户端。当我在本地机器上测试时,电子邮件客户端按预期启动,但在生产服务器上没有。在生产服务器上,我只是将重定向到“/”。关于什么可能导致电子邮件客户端启动的任何建议?我在所有浏览器上进行了测试,没有发现任何行为差异。

@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')

好的,既然你已经找到了第一个问题的答案,这里有一个关于第二个问题的建议:只需重定向到 mailto: URL:

@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')

在这里为我工作™。