def download():
    filename = request.form.get('file_name')
    url = request.form.get('download_url')
    if not (url and filename):
        return jsonify({'message': 'Illegal input fields'})
    temp_link = download_file(url, filename)
    send_email(message='Generated file_link: %s' % temp_link,
               ip_address=get_remote_address())
    return jsonify({'file_link': temp_link})
Exemple #2
0
def send_report(report):
    try:
        if type(report) is dict:
            report = json.dumps(report)
        send_email(sender=Constants.EMAIL_SENDER,
                   password=Constants.EMAIL_SMTP_PASSWORD,
                   text=str(report),
                   title_from=Constants.EMAIL_ERROR_TITLE,
                   title_to=f'Dear {Constants.OWNER}',
                   subject=f"chiblog v{Constants.VERSION}的新bug report")
    except Exception as e:
        logger.error('错误信息邮件发送失败! %s' % e)
Exemple #3
0
    def post(self):
        email = self.request.get("reset_email")
        user = User.get_by_email(email=email)

        if user:
            token, expired = User.set_token_hash(user=user, reset=True)

            domain = app_identity.get_default_version_hostname()

            params = {
                "reset_url":
                "https://{0}/reset-password/new-password?token={1}".format(
                    domain, token)
            }
            subject = "Reset password"
            template = "reset_password.html"
            email_sent = send_email(template=template,
                                    template_params=params,
                                    receiver_email=email,
                                    email_subject=subject)

            if email_sent:
                return self.render_template("reset/reset_email_sent.html")
            else:
                self.error(500)
                logging.error(
                    "Error with sending reset email for user {}".format(
                        user.get_id))
                return self.write(
                    "There was an error processing this request.")
        else:
            return self.render_template("reset/reset_email_not_exist.html")
Exemple #4
0
    def create(cls, email, password):
        user = cls.query(cls.email == email.lower()).get()

        if not user and email.count("@"):
            user = cls(email=email)
            user.put()

            cls.set_password_hash(user=user, password=password)

            token, expired = cls.set_token_hash(user=user, verify_email=True)  # get a "verify email" token

            domain = app_identity.get_default_version_hostname()
            params = {"verify_url": "https://{0}/verify-email/{1}".format(domain, token)}
            send_email(receiver_email=email, email_subject="Verify your email address",
                       template="verify_email.html", template_params=params)
            message = "Registration successful. Now please check your email and verify your email address."
        else:
            message = "Registration failed. User with this email already exists."

        return user, message
    print(f"There are {len(orders)} in the database.")
    print("\nGenerating PDF files for each.")
    recipient = input(
        "Please, configure recipient: ")  # gets recipient's email from input

    for order in orders:
        readable_order = f"{order[0]}, {order[1]} pieces to client {order[2]}"
        print(readable_order)

        file = order[0].replace(" ", "_")

        barcode_generator.generate(readable_order)
        pdf_generator.generate_pdf(path=f'utils/temp/docs/{file}.pdf',
                                   data=readable_order)

        try:
            email_sender.send_email(recipient=recipient,
                                    subject=f"Order {order[0]}",
                                    attachment=f'utils/temp/docs/{file}.pdf',
                                    body=readable_order)
        except:
            raise RuntimeError(
                "Something went wrong. Is the recipient email correct?")

        print("Completed.")

    print("Emails successfully sent.")

    shutil.rmtree('utils/temp/docs')  # removes all pdf files
    os.makedirs('utils/temp/docs')  # creates docs folder again