diff --git a/env b/env index 0682d723b..8d5739aec 100644 --- a/env +++ b/env @@ -28,8 +28,8 @@ DISABLE_DOWNVOTES=0 DUES=0 DEFAULT_THEME=midnight DEFAULT_COLOR=805ad5 -MAIL_USERNAME=blahblahblah@gmail.com -MAIL_PASSWORD=blahblahblah +EMAIL=blahblahblah@gmail.com +MAILGUN_KEY=blahblahblah DESCRIPTION=rdrama.net caters to drama in all forms such as: Real life, videos, photos, gossip, rumors, news sites, Reddit, and Beyond™. There isn't drama we won't touch, and we want it all! CF_KEY=blahblahblah CF_ZONE=blahblahblah diff --git a/files/__main__.py b/files/__main__.py index 340278a17..cdea5706c 100644 --- a/files/__main__.py +++ b/files/__main__.py @@ -6,7 +6,6 @@ from flask import * from flask_caching import Cache from flask_limiter import Limiter from flask_compress import Compress -from flask_mail import Mail from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker, scoped_session from sqlalchemy import * @@ -41,16 +40,6 @@ app.config['SQLALCHEMY_DATABASE_URL'] = environ.get("DATABASE_URL", "postgresql: app.config["CACHE_TYPE"] = "RedisCache" app.config["CACHE_REDIS_URL"] = environ.get("REDIS_URL", "redis://localhost") -app.config['MAIL_SERVER'] = 'smtp.gmail.com' -app.config['MAIL_PORT'] = 587 -app.config['MAIL_USE_TLS'] = True - -if environ.get("MAIL_USERNAME2") and random.random() < 0.5: - app.config['MAIL_USERNAME'] = environ.get("MAIL_USERNAME2", "").strip() - app.config['MAIL_PASSWORD'] = environ.get("MAIL_PASSWORD2", "").strip() -else: - app.config['MAIL_USERNAME'] = environ.get("MAIL_USERNAME", "").strip() - app.config['MAIL_PASSWORD'] = environ.get("MAIL_PASSWORD", "").strip() app.config['SETTINGS'] = {} @@ -76,7 +65,6 @@ db_session = scoped_session(sessionmaker(bind=engine, autoflush=False)) cache = Cache(app) Compress(app) -mail = Mail(app) if not path.isfile(f'/site_settings.json'): with open('/site_settings.json', 'w', encoding='utf_8') as f: diff --git a/files/helpers/const.py b/files/helpers/const.py index 1d2c6b0d7..9c75ea155 100644 --- a/files/helpers/const.py +++ b/files/helpers/const.py @@ -38,8 +38,9 @@ CARD_VIEW = bool(int(environ.get("CARD_VIEW").strip())) DISABLE_DOWNVOTES = bool(int(environ.get("DISABLE_DOWNVOTES").strip())) DUES = int(environ.get("DUES").strip()) DEFAULT_THEME = environ.get("DEFAULT_THEME").strip() -DEFAULT_COLOR = environ.get("DEFAULT_COLOR", "805ad5").strip() -MAIL_USERNAME = environ.get("MAIL_USERNAME").strip() +DEFAULT_COLOR = environ.get("DEFAULT_COLOR").strip() +EMAIL = environ.get("EMAIL").strip() +MAILGUN_KEY = environ.get("MAILGUN_KEY").strip() DESCRIPTION = environ.get("DESCRIPTION").strip() CF_KEY = environ.get("CF_KEY").strip() CF_ZONE = environ.get("CF_ZONE").strip() diff --git a/files/helpers/jinja2.py b/files/helpers/jinja2.py index b0d8a3b70..d8113de80 100644 --- a/files/helpers/jinja2.py +++ b/files/helpers/jinja2.py @@ -75,5 +75,5 @@ def inject_constants(): "KOFI_TOKEN":KOFI_TOKEN, "KOFI_LINK":KOFI_LINK, "approved_embed_hosts":approved_embed_hosts, "site_settings":app.config['SETTINGS'], - "MAIL_USERNAME":app.config['MAIL_USERNAME'], + "EMAIL":EMAIL, } diff --git a/files/mail/__init__.py b/files/mail/__init__.py index a36a38731..5a15dfdae 100644 --- a/files/mail/__init__.py +++ b/files/mail/__init__.py @@ -1,3 +1,4 @@ +import requests import time from flask import * from urllib.parse import quote @@ -8,14 +9,23 @@ from files.helpers.const import * from files.helpers.get import * from files.helpers.actions import * from files.classes import * -from files.__main__ import app, mail, limiter -from flask_mail import Message +from files.__main__ import app, limiter def send_mail(to_address, subject, html): + if MAILGUN_KEY == 'blahblahblah': return - msg = Message(html=html, subject=subject, sender=app.config['MAIL_USERNAME'], recipients=[to_address]) - mail.send(msg) + url = f"https://api.mailgun.net/v3/{SITE}/messages" + + auth = ("api", MAILGUN_KEY) + + data = {"from": EMAIL, + "to": [to_address], + "subject": subject, + "html": html, + } + + requests.post(url, auth=auth, data=data) def send_verification_email(user, email=None): diff --git a/files/routes/static.py b/files/routes/static.py index 751a46eb0..ccfec09b7 100644 --- a/files/routes/static.py +++ b/files/routes/static.py @@ -1,5 +1,5 @@ from files.mail import * -from files.__main__ import app, limiter, mail +from files.__main__ import app, limiter from files.helpers.alerts import * from files.helpers.const import * from files.helpers.actions import * diff --git a/files/routes/subs.py b/files/routes/subs.py index 06396a571..f0c63633e 100644 --- a/files/routes/subs.py +++ b/files/routes/subs.py @@ -1,4 +1,4 @@ -from files.__main__ import app, limiter, mail +from files.__main__ import app, limiter from files.helpers.alerts import * from files.helpers.wrappers import * from files.helpers.get import * diff --git a/files/templates/contact.html b/files/templates/contact.html index 202b07c50..4e2077d73 100644 --- a/files/templates/contact.html +++ b/files/templates/contact.html @@ -53,6 +53,6 @@ {% include "emoji_modal.html" %} {% else %} -

by email: {{MAIL_USERNAME}}

+

by email: {{EMAIL}}

{% endif %} {% endblock %} diff --git a/requirements.txt b/requirements.txt index b3b0e8d7f..f56fcc6c5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,6 @@ Flask Flask-Caching Flask-Compress Flask-Limiter -Flask-Mail Flask-Socketio gevent gevent-websocket