2015-07-06 1 views
0

Я использую следующий код для запуска почтового клиента с заранее определенными полями. Клиент электронной почты запускается, как и ожидалось, когда я тестирую свой локальный компьютер, но не на рабочем сервере. На производственном сервере я просто получаю перенаправление на '/'. Любые предложения о том, что может вызвать запуск почтового клиента? Я тестировал все браузеры I и не видел разницы в поведении.webbrowser.open ('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: 
      webbrowser.open('mailto:[email protected]?subject=Feedback&body=<insert your message here>') 
      return redirect('/') 
     else: 
      webbrowser.open('mailto:[email protected]?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

Я полагаю, что это один из случаев, когда запись вопроса помогает определить ответ .... Я подозреваю, что при запуске на производственном сервере сервер становится контекстом для инструкции «webbrowser.open». Теперь, пытаясь найти способ изменить это на локальный контекст, ... – zanzu

ответ

1

Хорошо, так как вы получили ответ на первый вопрос, здесь приходит предложение ко второй проблеме: просто перенаправить к 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:[email protected]?subject=Feedback&body=<insert your message here>') 
     else: 
      return redirect('mailto:[email protected]?subject=Feedback&body=<insert your message here> \n\n Logs: %s' % (logs)) 
    return render_template('main.html', form=form, show_results=0, page = 'errorform') 

Работали For Me ™ здесь.

+0

Спасибо, что подтвердили мои подозрения и предоставили альтернативные указатели. Интересно, откуда я начал. Причина, по которой я закончил работу по пути веб-браузера.open, заключается в том, что я не смог заставить код выполнить с символами разрыва строки (\ n \ n), тогда как это отлично работало с браузером. – zanzu

 Смежные вопросы

  • Нет связанных вопросов^_^