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')
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
#-*-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
# -*- 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
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)
</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'))
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)
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())