示例#1
0
 def __init__(self, app):
     self.app = app
     self.setupConfiguration()
     self.mail = Mail(app)
     self.lookup = TemplateLookup(directories=['mail'],
                                  output_encoding='utf-8',
                                  encoding_errors='replace')
示例#2
0
    def __init__(self, *args, **kwargs):
        kwargs['static_folder'] = config['TEMPLATES']['STATIC_DIR']
        kwargs['static_url_path'] = ''
        super(RentMyBike, self).__init__(config['APPLICATION_NAME'], *args, **kwargs)
        self.debug = self.config['DEBUG']

        self._register_error_handler(None, Exception, self.error_handler)
        self._register_error_handler(None, 500, self.error_handler)
        self.before_request(self.inject_csrf_token)
        self.teardown_request(self.session_cleanup)

        self.emailer = Mail()
        self.emailer.init_app(self)

        balanced.configure(self.config['BALANCED_SECRET'])
        self.marketplace_href = balanced.Marketplace.mine.href
示例#3
0
#-*-coding:utf8-*-

from flaskext.mail import Mail
from flask_mail import Message
from application import app
from threading import Thread

mail = Mail(app)

def send_async_email(app,msg):
    with app.app_context():
        mail.send(msg)

def sendmail(recipients, subject, message):
    msg = Message()
    msg.subject = subject
    msg.recipients = recipients
    msg.html = message
    msg.charset = 'utf-8'
    try:
        thread = Thread(target=send_async_email,args=[app,msg])
        thread.start()
    except Exception,e:
        data = {"status": "fail", "error": "send email error"}
        return data
    return True
示例#4
0
# -*- coding: utf-8 -*-
"""
Website server for geekup.in
"""

from flask import Flask
from flaskext.assets import Environment, Bundle
from flaskext.mail import Mail
from coaster import configureapp
from os import environ

# First, make an app and config it

app = Flask(__name__, instance_relative_config=True)
configureapp(app, 'GEEKUP_ENV')
mail = Mail()
mail.init_app(app)
assets = Environment(app)

# Second, setup assets

js = Bundle('js/libs/jquery-1.6.4.js',
            'js/libs/jquery.form.js',
            'js/scripts.js',
            filters='jsmin',
            output='js/packed.js')

assets.register('js_all', js)

# Third, after config, import the models and views
示例#5
0
from flask import request
from flask_sqlalchemy import SQLAlchemy
from flaskext.babel import Babel
from flaskext.cache import Cache
from flaskext.mail import Mail
from flaskext.script import Manager
from flask_collect import Collect

from .app import create_app


babel = Babel()
cache = Cache()
db = SQLAlchemy()
main = Mail()

manager = Manager(create_app)
manager.add_option("-c", "--config", dest="config", required=False)

collect = Collect()
collect.init_script(manager)


def config_extensions(app):
    " Init application with extensions. "

    cache.init_app(app)
    db.init_app(app)
    main.init_app(app)
    collect.init_app(app)
示例#6
0
                </tr>
            </tbody>
        </table>
        <hr style="margin: 3em 0;"/>
        <img src="{{ url_for('static', filename='img.png', _external=True) }}" />
    {% endblock %}
    </body>
</html>
"""


def create_pdf(pdf_data):
    pdf = StringIO()
    pisa.CreatePDF(StringIO(pdf_data.encode('utf-8')), pdf)
    return pdf


mail_ext = Mail(app)


@app.route('/your/url')
def your_view():
    subject = "Mail with PDF"
    receiver = "*****@*****.**"
    mail_to_be_sent = Message(subject=subject, recipients=[receiver])
    mail_to_be_sent.body = "This email contains PDF."
    pdf = create_pdf(render_template('your/template.html'))
    mail_to_be_sent.attach("file.pdf", "application/pdf", pdf.getvalue())
    mail_ext.send(mail_to_be_sent)
    return redirect(url_for('other_view'))
示例#7
0
from flask import Flask
from flaskext.mail import Mail

app = Flask(__name__)
mail = Mail(app)
    mail = Mail()
    msg = mail("Hello",
                  sender="*****@*****.**",
                  recipients=["*****@*****.**"])
    mail.send(msg)
示例#8
0
    
    def environment(self):
        try:
            root = os.getcwd()
            environment = os.environ['ENVIRONMENT']
            if environment == 'development':
                path = os.path.join(root, "config/development.cfg")
                self.app.config.from_pyfile(path)
            elif environment == 'production':
                path = os.path.join(root, "config/production.cfg")
                self.app.config.from_pyfile(path)
            elif environment == 'testing':
                path = os.path.join(root, "config/testing.cfg")
                self.app.config.from_pyfile(path)
        except KeyError:
            pass

    def App(self):
        return self.app
    def config(self):
        return self.app.config

    def db(self):
        db = MongoEngine(self.app)
        return db

settings = Settings()
db = settings.db()
config = settings.config()
mail = Mail(settings.App())