履歴書をアップロードして電子メールを入力できる Web フォームがあります。送信すると、情報が電子メールで送信されます (履歴書は電子メールの添付ファイルとして送信されます)。ローカルで動作しますが、本番環境ではエラーとして発生します - 「内部サーバーエラー」とだけ表示されます。Heroku / Flask 上にあり、メールには Flask Mail を使用しています。
これがコードです。私の推測では、レジューム パスが本番環境で取得されていないということですが、よくわかりません。
app.config["UPLOAD_FOLDER"] = "app/resumes/"
# --------------> Cold Resume Submission
@app.route('/', methods=["GET", "POST"])
def homepage():
if request.method == 'GET':
return render_template('home.html')
else:
cold_email = request.form["cold_email"]
file = request.files['cold_resume']
if file and allowed_file(file.filename) and cold_email:
filename = secure_filename(file.filename)
file_path = os.path.join(app.config['UPLOAD_FOLDER'], filename)
print "file_path", file_path
file.save(file_path)
send_email(subject="Cold Resume...",
sender="LHV TalentTracker",
recipients=email_to_admin,
html_body="Cold Application from Homepage from {0}".format(cold_email),
attachment_path=file_path)
os.remove(file_path)
else:
confirmation = "File or Email invalid"
return render_template("confirmation.html", confirmation=confirmation)
confirmation = "Thanks, We'll be in touch!"
return render_template("confirmation.html", confirmation=confirmation)
- - - アップデート - -
すべてを try / except ブロックでラップしたところ、次のエラーが発生しました...
homepage email error: <type 'exceptions.Exception'> [Errno 2] No such file or directory: 'app/resumes/Suraj_Kapoor_-_Cover_Letter.pdf' <type 'exceptions.IOError'>
...これは、ファイルパスが取得されていないという私の疑いを裏付けていますが、何が問題なのかは不明です。app/resumes
フォルダーが存在します。