From 58cea3a3a9df58082e6465c90b8f5f14cb5f8cdf Mon Sep 17 00:00:00 2001 From: Phuoc CAO Date: Wed, 4 May 2022 11:29:45 +0200 Subject: [PATCH] added pyramid_mailer to send contact form --- cao_blogr.sqlite | Bin 151552 -> 151552 bytes cao_blogr/__init__.py | 4 ++- cao_blogr/forms.py | 9 ++++++- cao_blogr/services/blog_record.py | 2 +- cao_blogr/templates/home.jinja2 | 32 ++++++++++++------------ cao_blogr/views/default.py | 40 +++++++++++++++++++++++++++--- development.ini | 5 ++++ production.ini | 5 ++++ setup.py | 3 +-- 9 files changed, 76 insertions(+), 24 deletions(-) diff --git a/cao_blogr.sqlite b/cao_blogr.sqlite index a8312d93832773af7579bfece88ca35056eca07b..fe5e73487c7fb0f517449c3f6f8189142cd6f4f1 100644 GIT binary patch delta 226 zcmZozz}c{XbAmLZ_e2?IM(>RY{q=$-3I^s@1{PMP7JBAp#zq!~n;KX)OqYyd+`0X9 z0OLG1Ug!M0$_}*3D6MHdb}COi#>7EoOiKW*{X7#6mzUxn0D8@nbwI`zHqWPusZ`Fuq{t-@wes x!=S%5dPAn8qp-O7c7+9uQq0rMS2LDkamVS^jD{@JxnmglSb)ZfEZe}i005U>LD2vJ delta 183 zcmZozz}c{XbAmLZ=R_H2M$e52{q=&z3Wf$&28LEfW_rfv=0;`~n;KX)Y_FKic!F*E z**3

La Méditation SUNYATA

-

développée par le maître zen Thích Thông Triệt, combine les enseignements essentiels du processus de réalisation et d'illumination du Bouddha, les pratiques des 3 traditions du bouddhisme (Theravāda, Mahayana, le Zen), et les découvertes de la neuro-sciences.

+

développée par le maître zen Thích Thông Triệt, combine les enseignements essentiels du processus de réalisation et d'illumination du Bouddha, les pratiques des 3 traditions du bouddhisme (Theravāda, Mahayana et Zen), et les découvertes de la neuro-sciences.

diff --git a/cao_blogr/views/default.py b/cao_blogr/views/default.py index 0e540a5..ba72209 100644 --- a/cao_blogr/views/default.py +++ b/cao_blogr/views/default.py @@ -1,9 +1,11 @@ from pyramid.view import view_config from pyramid.httpexceptions import HTTPFound from pyramid.security import remember, forget +from pyramid_mailer.message import Message + from ..services.user import UserService from ..services.blog_record import BlogRecordService -from ..forms import UserCreateForm +from ..forms import UserCreateForm, ContactForm from ..models.user import User @@ -22,14 +24,46 @@ def home(request): dir + '/S18.jpg', dir + '/S21.jpg', dir + '/S25.jpg'] - page = int(request.params.get('page', 1)) + # get the 5 last modified posts last_five = BlogRecordService.get_last_five(request) - + name = '' + email = '' + comments = '' + + if 'form.submitted' in request.params : + name = request.params['name'] + email = request.params['email'] + comments = request.params['comments'] + + body = """ +Bonjour, + +L' expéditeur : {0} ( {1} ) +a envoyé le message suivant du site "meditation-sunyata.paris" +----- Début du message ----- +{2} +----- Fin du message ----- + +Le site "meditation-sunyata.paris" + +""".format(name, email, comments) + + message = Message(subject="[MSParis] Message de contact", + sender=request.registry.settings['cao_blogr.admin_email'], + body=body) + message.add_recipient('phuoc@caotek.fr') + mailer = request.registry['mailer'] + mailer.send_immediately(message) + message = "Votre message a bien été envoyé au webmestre. Merci de votre intérêt pour notre site" + return { 'page_title': "", 'last_five': last_five, 'car_images': car_images, + 'name': name, + 'email': email, + 'comments': comments, } diff --git a/development.ini b/development.ini index 6f3803b..e761d77 100644 --- a/development.ini +++ b/development.ini @@ -16,6 +16,11 @@ pyramid.includes = sqlalchemy.url = sqlite:///%(here)s/cao_blogr.sqlite +cao_blogr.admin_email = cao.thien-phuoc@orange.fr +# Mailer configuration +mail.host = smtp.orange.fr +mail.port = 25 + retry.attempts = 3 # By default, the toolbar only appears for clients from IP addresses diff --git a/production.ini b/production.ini index 5fbf1e4..af3c4f7 100644 --- a/production.ini +++ b/production.ini @@ -14,6 +14,11 @@ pyramid.default_locale_name = en sqlalchemy.url = sqlite:///%(here)s/cao_blogr.sqlite +cao_blogr.admin_email = phuoc@caotek.fr +# Mailer configuration +mail.host = localhost +mail.port = 25 + retry.attempts = 3 [pshell] diff --git a/setup.py b/setup.py index bb81fa7..5d2306c 100644 --- a/setup.py +++ b/setup.py @@ -15,6 +15,7 @@ requires = [ 'pyramid_debugtoolbar', 'waitress', 'alembic', + 'pyramid_mailer', 'pyramid_retry', 'pyramid_tm', 'SQLAlchemy', @@ -22,8 +23,6 @@ requires = [ 'zope.sqlalchemy', 'wtforms==2.2.1', # form library 'webhelpers2==2.0', # various web building related helpers - 'paginate==0.5.6', # pagination helpers - 'paginate_sqlalchemy==0.3.0', 'passlib', ]