コード例 #1
0
    def Connecter(self):
        # Récupération des clés Mailjet
        api_key = self.dict_parametres.get("api_key", None)
        api_secret = self.dict_parametres.get("api_secret", None)
        if api_key == None or api_secret == None:
            raise ValueError(u"Les codes MAILJET ne sont pas valides.")

        # Connexion à Mailjet
        try:
            from mailjet_rest import Client
            self.connection = Client(auth=(api_key, api_secret), version='v3.1')
        except Exception as err:
            raise
コード例 #2
0
    def post(self):
        parser = reqparse.RequestParser()
        parser.add_argument('namaPembeli', location='json', required=False)
        parser.add_argument('emailtujuan', location='json', required=False)
        parser.add_argument('Barang', location='json', required=False)
        parser.add_argument('ID', location='json', required=False)
        parser.add_argument('alamat', location='json', required=False)
        parser.add_argument('total', location='json', required=False)
        args = parser.parse_args()

        api_key = '7d927645648521586a2e8def9ed3c828'
        api_secret = '325f24a29a6132ba6b1baf30c6115e00'
        mailjet = Client(auth=(api_key, api_secret), version='v3.1')
        data = {
            'Messages': [{
                "From": {
                    "Email": "*****@*****.**",
                    "Name": "Beliaja"
                },
                "To": [{
                    "Email": args['emailtujuan'],
                    "Name": "passenger 1"
                }],
                "TemplateID":
                974381,
                "TemplateLanguage":
                True,
                "Subject":
                "Transaksi BeliAja",
                "Variables": {
                    "namaPembeli": args['namaPembeli'],
                    "Barang": args['Barang'],
                    "ID": args['ID'],
                    "alamat": args['alamat'],
                    "total": args['total']
                }
            }]
        }

        result = mailjet.send.create(data=data)
        print(result.status_code)
        print(result.json())
        return result.json(), 200
コード例 #3
0
def Email(fileToSend, To):
    from mailjet_rest import Client
    import os
    api_key = '3e70858a7a5c5fbc245a662d5d9aa238'  # API KEY of Mail Jet
    api_secret = 'a337abcc84d8fb062f6f1597d966ae6f'  # API SECRET KEY of Mail Jet
    mailjet = Client(auth=(api_key, api_secret), version='v3.1')
    import base64
    with open(fileToSend, 'rb') as fp:
        ki = base64.b64encode(fp.read())
    data = {
        'Messages': [{
            "From": {
                "Email": "*****@*****.**",
            },
            "To": [{
                "Email": "%s" % To,
            }],
            "Subject":
            "USER ACCOUNTS  CONFIGURATIONS IN THE ENDPOINT\n",
            "TextPart":
            "Dear passenger 1, welcome to Mailjet! May the delivery force be with you!",
            "HTMLPart":
            """<h3> Hi

        Please find the attachment which contains the USER ACCOUNTS  CONFIGURATIONS IN THE ENDPOINT

        Thank you.</h3>""",
            "Attachments": [{
                "ContentType": "text/csv",
                "Filename": "verifyaccounts.csv",
                "Base64Content": "%s" % ki
            }]
        }]
    }
    result = mailjet.send.create(data=data)
    ret = result.status_code
    if ret == 200:
        out = result.json()
        out = str(out)
        if "success" in out:
            print "Email has been Sent Successfully to the following mail address:" + ' "' + emailto + '"'
    else:
        print "Error sending email"
コード例 #4
0
ファイル: jet.py プロジェクト: andrewnc/housing_extension
def email(author, title, info):
	print author, title, info

	api_key = '3cd843aacb6625f1ff62522783ce7976'
	api_secret = '9f1446e1e5abe54507504e7293c2c55f'
	mailjet = Client(auth=(api_key, api_secret))
	data = {
	  'FromEmail': '*****@*****.**',
	  'FromName': "josh: {}".format(author),
	  'Subject': "{}".format(title),
	  'Text-part': "info: {}".format(info),
	  'Html-part': '<h3>posted by: {} info: {}</h3>'.format(author, info),
	  'Recipients': [
	                {
	                        "Email": "*****@*****.**"
	                }
	        ]
	}
	result = mailjet.send.create(data=data)
コード例 #5
0
def sendEmail(title, description):
    mailjet = Client(auth=(api_key, api_secret), version='v3.1')
    data = {
        'Messages': [{
            "From": {
                "Email": email_sender,
                "Name": "Notification"
            },
            "To": [{
                "Email": email_recipient
            }],
            "Subject": title,
            "TextPart": "Visit " + intra_url + "\n\n" + description,
        }]
    }
    result = mailjet.send.create(data=data)
    if (result.status_code == 200):
        print("Success Sending Email")
    else:
        print("Failed to send email")
コード例 #6
0
 def emailer(self, body, email, name):
     api_key = "#####################################"
     api_secret = "#####################################"
     mailjet = Client(auth=(api_key, api_secret), version="v3.1")
     data = {
         "Messages": [{
             "From": {
                 "Email": "*****@*****.**",
                 "Name": "Ningthem"
             },
             "To": [{
                 "Email": email,
                 "Name": name
             }],
             "Subject": "Important: Current prices",
             "HTMLPart": body,
             "CustomID": "AppGettingStartedTest",
         }]
     }
     result = mailjet.send.create(data=data)
コード例 #7
0
def callback_customer(data):
    t = time.process_time()
    data = (json.loads(data))
    api_key = os.environ.get('MAILJET_APIKEY')
    api_secret = os.environ.get('MAILJET_APISECRET')
    mailjet = Client(auth=(api_key, api_secret), version='v3.1')
    mjdata = {
        'Messages': [
            {
                "From": {
                    "Email": "*****@*****.**",
                    "Name": "UN DES SERVEURS D'UN DES CLUSTERS DE BWI"
                },
                "To": [
                    {
                        "Email": ALERT_EMAIL
                    }
                ],
                "TemplateID": 1107138,
                "TemplateLanguage": True,
                "Subject": "Une nouvelle abeille s'est inscrite",
                "Variables": {
                    "email": data['email'],
                    "firstname": data['first_name']
                }
            }
        ]
    }
    result = mailjet.send.create(data=mjdata)
    bwi.logs.info("Sending alert signup email to " + ALERT_EMAIL)
    if 200 <= result.status_code <= 299:
        bwi.logs.info("Alert signup email has been sent to " + ALERT_EMAIL)
        bwi.metrics.store("sent_email", 1)
        bwi.metrics.counter("alert_signup", 1)
    else:
        bwi.logs.error("Alert signup email has not been sent to " + ALERT_EMAIL)
        bwi.metrics.store("error_email", 1)
        bwi.metrics.counter("fail_alert_signup", 1)
    elapsed_time = time.process_time() - t
    bwi.metrics.store("alert_signup_time", elapsed_time)
    return json.dumps(data)
コード例 #8
0
    def post(self, request, format=None):
        '''
        Send email
        '''
        # Filter talents according to search condition
        body = request.data
        setting = MailSetting.objects.all().first()
        if setting is None:
            raise Response(data={
                'error':
                'API gateway don\'t have any mail settings, yet. Please contact administrator.'
            },
                           status=503)

        api_key = setting.api_key
        secret_key = setting.secret_key
        mailjet = Client(auth=(api_key, secret_key), version='v3.1')
        body = request.data
        to_name = body['to_name']
        to_email = body['to_email']
        data = {
            'Messages': [{
                'From': {
                    'Email': setting.from_email,
                    'Name': setting.from_name
                },
                'To': [{
                    'Email': to_email,
                    'Name': to_name
                }],
                'Subject': setting.subject,
                'TextPart': setting.text_content,
                'HTMLPart': setting.html_content
            }]
        }
        result = mailjet.send.create(data=data)
        response_data = {
            'status': result.status_code,
            'message': result.json()
        }
        return Response(data=response_data, status=result.status_code)
コード例 #9
0
def callback_customer(data):
    t = time.process_time()
    data = (json.loads(data))
    api_key = os.environ.get('MAILJET_APIKEY')
    api_secret = os.environ.get('MAILJET_APISECRET')
    mailjet = Client(auth=(api_key, api_secret), version='v3.1')
    mjdata = {
        'Messages': [{
            "From": {
                "Email": "*****@*****.**",
                "Name": "Antoine de BWI"
            },
            "To": [{
                "Email": data['email'],
                "firstname": data['first_name']
            }],
            "TemplateID":
            1106753,
            "TemplateLanguage":
            True,
            "Subject":
            "Bienvenue dans la Hive",
            "Variables": {
                "firstname": data['first_name']
            }
        }]
    }
    result = mailjet.send.create(data=mjdata)
    bwi.logs.info("Sending signup email to " + data['email'])
    if 200 <= result.status_code <= 299:
        data['register_status'] = "SUCCESS"
        bwi.logs.info("Signup email has been sent to " + data['email'])
        bwi.metrics.counter("sent_signup_email", 1)
    else:
        data['register_status'] = "ERROR_SIGNUP"
        bwi.logs.error("Signup email has not been sent to " + data['email'])
        bwi.metrics.store("error_signup_email", 1)
    elapsed_time = time.process_time() - t
    bwi.metrics.store("signup_time", elapsed_time)

    return json.dumps(data)
コード例 #10
0
def create_suggestion_service(
    suggestion_mailjet_rest_api_key: str,
    suggestion_mailjet_rest_api_secret: str,
    suggestion_sender_name: str,
    suggestion_sender_email: str,
    suggestion_recipient_name: str,
    suggestion_recipient_email: str,
    suggestion_mailjet_custom_id: str,
) -> SuggestionServiceInterface:
    return MailjetSuggestionService(
        mailjet_client=Client(
            auth=(suggestion_mailjet_rest_api_key,
                  suggestion_mailjet_rest_api_secret),
            version="v3.1",
        ),
        suggestion_sender_name=suggestion_sender_name,
        suggestion_sender_email=suggestion_sender_email,
        suggestion_recipient_name=suggestion_recipient_name,
        suggestion_recipient_email=suggestion_recipient_email,
        suggestion_mailjet_custom_id=suggestion_mailjet_custom_id,
    )
コード例 #11
0
def mail_to_friend(form, user_id):
    flat_id = req.select('flat_id', 'users', user_id=user_id)[0][0]
    flat_name = req.select('name', 'flats', flat_id=flat_id)[0][0]
    pwd = req.select('password', 'flats', flat_id=flat_id)[0][0]
    response = 0
    if 'friend_name' in form.keys() and 'friend_mail' in form.keys(
    ) and 'flat_password' in form.keys():
        if crypted_string(form['flat_password']) != pwd:
            response = 1
        else:
            mailjet = Client(auth=(api_key, api_secret), version='v3.1')
            data = {
                'Messages': [{
                    "From": {
                        "Email": "*****@*****.**",
                        "Name": "Api'Flat"
                    },
                    "To": [{
                        "Email": form['friend_mail'],
                        "Name": form['friend_name']
                    }],
                    "Subject":
                    "Invitation sur Api'flat",
                    "TextPart":
                    "Invitation",
                    "HTMLPart":
                    "<h3>Bonjour <em> " + form['friend_name'] +
                    "<em>,</h3><br><p>Vous êtes invité à rejoindre le gestionnaire de colocation Api'flat. <br>Veuillez trouver ci-dessous les identifiants à renseigner lors de votre inscription. <br> Nom de la colocation : <em> "
                    + flat_name +
                    "<em> <br>Mot de passe de la colocation : <em> " +
                    form['flat_password'] + "<em></p>",
                    "CustomID":
                    "AppGettingStartedTest"
                }]
            }
            mailjet.send.create(data=data)
            response = 2
    else:
        response = 0
    return response
コード例 #12
0
def sendSMTPRelay(name: str) -> str:
    """To send mail using SMTP Relay Mailjet service."""
    API_KEY = os.environ["MAILJET_API_KEY"]
    API_SECRET = os.environ["MAILJET_API_SECRET"]
    FROM_EMAIL = os.environ["MAILJET_FROM_EMAIL"]
    FROM_EMAIL_USER = os.environ["MAILJET_FROM_EMAIL_NAME"]
    TO_EMAIL = name['email']
    TO_EMAIL_USER = name['user_name'].title()

    EMAIL_SUBJECT = "Rohit's bot at your service!"
    EMAIL_TEXT = "Rohit says hello!"
    EMAIL_HTML_CONTENT = """\
    <html>
      <body>
        <p>Thank you for checking out the website. Please connect on <a href="https://in.linkedin.com/in/rohitdiwakar">LinkedIn</a> and we can take things forward.</p>
        <p>Cheers, <br>Rohit's Bot<p>
      </body>
    </html>
    """

    mailjet = Client(auth=(API_KEY, API_SECRET), version='v3.1')
    data = {
        'Messages': [{
            "From": {
                "Email": FROM_EMAIL,
                "Name": FROM_EMAIL_USER
            },
            "To": [{
                "Email": TO_EMAIL,
                "Name": TO_EMAIL_USER
            }],
            "Subject": EMAIL_SUBJECT,
            "TextPart": EMAIL_TEXT,
            "HTMLPart": EMAIL_HTML_CONTENT,
            "CustomID": "AppGettingStartedTest"
        }]
    }
    result = mailjet.send.create(data=data)
    return True
コード例 #13
0
def send_mail(
    recipient,
    subject,
    content="<h3>Ouaf ouaf!</h3><br />",
    sender_address=sender,
    myname="Leximpact",
):
    mailjet = Client(auth=(USER, PASSWD), version="v3.1")
    data = {
        "Messages": [
            {
                "From": {"Email": sender_address, "Name": myname},
                "To": [{"Email": recipient}],
                "Subject": subject,
                "TextPart": "",
                "HTMLPart": content,
            }
        ]
    }
    result = mailjet.send.create(data=data)
    if result.status_code != 200:
        print("Error in sending email : ", result.json())
コード例 #14
0
def send_mail(mail, name, subject, textPart, htmlPart):  # pragma: no cover

    api_key = os.environ.get('MAIL_API')
    api_secret = os.environ.get('MAIL_KEY')
    mailjet = Client(auth=(api_key, api_secret), version='v3.1')
    data = {
        'Messages': [{
            "From": {
                "Email": "*****@*****.**",
                "Name": "Kalepa Info"
            },
            "To": [{
                "Email": mail,
                "Name": name
            }],
            "Subject": subject,
            "TextPart": textPart,
            "HTMLPart": htmlPart
        }]
    }
    result = mailjet.send.create(data=data)
    return result.json()
コード例 #15
0
ファイル: contact.py プロジェクト: cubingusa/org
def handle_contact_request(template, subject_base, recipient):
  if request.method == 'GET':
    return render_template(template,
                           c=Common(),
                           result=('success' if 'success' in request.args else ''))
  if get_secret('RECAPTCHA_SECRET_KEY'):
    score = create_assessment(request.form['g-recaptcha-response'])
    if score < 0.5:
      return render_template(template, c=Common(), result='failure')
  if get_secret('MAILJET_API_KEY') and get_secret('MAILJET_API_SECRET'):
    mailjet = Client(auth=(get_secret('MAILJET_API_KEY'), get_secret('MAILJET_API_SECRET')),
                     version='v3.1')
    subject = '[' + subject_base + '] Contact form submission by ' + request.form['name']
    if request.form['wcaid']:
      subject += ' (' + request.form['wcaid'] + ')'
    data = {
      'Messages': [
        {
          'From': {
            'Email': '*****@*****.**',
            'Name': 'CubingUSA Contact Form',
          },
          'To': [
            {
              'Email': recipient,
            },
            {
              'Email': request.form['from-address'],
              'Name': request.form['name'],
            },
          ],
          'Subject': subject,
          'TextPart': request.form['contact-message'],
        }
      ]
    }
    result = mailjet.send.create(data=data)
  return redirect(request.root_path + request.path + '?success=1')
コード例 #16
0
def sendemail():
    mailjet = Client(auth=(api_key, api_secret), version='v3.1')
    customername = request.json.get('customername', None)
    email = request.json.get('email', None)
    packagename = request.json.get('packagename', None)
    data = {
        'Messages': [{
            "From": {
                "Email": "*****@*****.**",
                "Name": "AfterLife"
            },
            "To": [{
                "Email": email,
                "Name": customername
            }],
            "Subject":
            "Your order is confirmed",
            "HTMLPart":
            "Dear " + customername +
            ",<br><br>We would like to inform you that the payment \
            for \"" + packagename +
            "\" has been received and your order is being processed.\
            <br><br>Sincerely, <br>AfterLIFE",
            "CustomID":
            "AppGettingStartedTest"
        }]
    }
    result = mailjet.send.create(data=data)
    if (result.status_code != 200):
        error = {
            'status': result.status_code,
            'message':
            result.json()["Messages"][0]["Errors"][0]["ErrorMessage"]
        }
        send_error(error)
        return (error), result.status_code
    else:
        return (result.json())
コード例 #17
0
def send_knowledge():
    subject = wikipedia.random(1)
    summary = wikipedia.summary(subject)
    email = request.form['email']
    name = request.form['name']
    body = "A brief summary of: {}\n{}".format(subject, summary)
    bodyhtml = "<div><h2>A brief summary of: {}</h2><br /><p>{}</p></div><br /><br /><p>Your friend {} thought you should know<p>".format(
        subject, summary, name)

    api = '1b3a86b86c9b6d15fd254f2e5edcfe09'
    secret = '6fa9ad8d7d8392adca139d7c587a6a3a'

    mailjet = Client(auth=(api, secret), version='v3.1')

    data = {
        'Messages': [{
            "From": {
                "Email": "*****@*****.**",
                "Name": "Random Info"
            },
            "To": [{
                "Email": email,
                "Name": "you"
            }],
            "Subject": "A little info about: {}".format(subject),
            "TextPart": body,
            "HTMLPart": bodyhtml
        }]
    }
    result = mailjet.send.create(data=data)
    status = result.status_code

    if status == 200:
        return render_template("knowledgesent.html",
                               subject=subject,
                               body=body)
    else:
        return render_template("error.html", status=status)
コード例 #18
0
def send_mail(form):
    mailjet = Client(auth=(api_key, api_secret), version='v3.1')
    data = {
        'Messages': [{
            "From": {
                "Email": "*****@*****.**",
                "Name": "Api'Flat"
            },
            "To": [{
                "Email": form['email'],
                "Name": form['first_name']
            }],
            "Subject":
            "Inscription",
            "TextPart":
            "Inscription",
            "HTMLPart":
            "<h3>Bienvenue sur Api'Flat, l'appli de gestion de votre colocation. Votre compte a été créé avec succès",
            "CustomID":
            "AppGettingStartedTest"
        }]
    }
    mailjet.send.create(data=data)
コード例 #19
0
ファイル: mailer.py プロジェクト: WeAreWizards/proppyweb
    def send_async():
        mailjet = Client(auth=(app.config["MAILJET_API_KEY"],
                               app.config["MAILJET_API_SECRET"]))

        # Response of send.create is this:
        # {'Sent': [{'Email': '*****@*****.**', 'MessageID': 19421835755008714}]}
        try:
            response = mailjet.send.create(data=data)
            result = response.json()
            # We had issues where the message ID was already in our db
            if not MailjetMessage.query.get(result['Sent'][0]['MessageID']):
                db.session.add(
                    MailjetMessage(
                        id=result['Sent'][0]['MessageID'],
                        json_response=result,
                        message_reason=reason,
                    ))
                db.session.commit()
        except Exception as e:
            db.session.rollback()
            # Mailjet can fail and we'd get an invalid json response, log that instead of throwing
            LOG.warn("Mailjet failed in giving us info: %r - %r" %
                     (e, response.status_code))
コード例 #20
0
def send_mail():
    api_key = 'Mention your API key here'
    api_secret = 'Mention your secret API key here'
    mailjet = Client(auth=(api_key, api_secret), version='v3.1')
    data = {
        'Messages': [{
            "From": {
                "Email": "mention your sender mail here",
                "Name": "PRICE_SCRAPER"
            },
            "To": [{
                "Email": csv_email,
                "Name": "USER"
            }],
            "Subject": msg,
            "TextPart": URL,
            #"HTMLPart": "<h3>Dear passenger 1, welcome to <a href='https://www.mailjet.com/'>Mailjet</a>!</h3><br />May the delivery force be with you!",
            #"CustomID": "AppGettingStartedTest"
        }]
    }
    result = mailjet.send.create(data=data)
    print(result.status_code)
    print(result.json())
コード例 #21
0
def sent_mail(to, pdf_name, subject):
    with open("test.pdf", "rb") as pdf_file:
        encoded_string = base64.b64encode(pdf_file.read()).decode('utf-8')

    api_key = API_KEY
    api_secret = API_SECRET
    mailjet = Client(auth=(api_key, api_secret), version='v3.1')

    data = {
        'Messages': [
            {
                "From": {
                    "Email": "*****@*****.**",
                    "Name": "SUSHANT"
                },
                "To": [
                    {
                        "Email": to,
                        "Name": "USER"
                    }
                ],
                "Subject": subject,
                "TextPart": "Greetings from COVIPS!",
                "HTMLPart": "<h3>TICKET INFO </h3><br />PDF ATTACHED TO THIS MAIL PLEASE VIEW",
                "Attachments": [
                    {
                        "ContentType": "application/pdf",
                        "Filename": pdf_name,
                        "Base64Content": encoded_string
                    }
                ]
            }
        ]
    }
    result = mailjet.send.create(data=data)
    print(result.status_code)
    print(result.json())
コード例 #22
0
ファイル: PRODUCTION.py プロジェクト: abremard/Vola-Open-NN
def send_message(recipients):
    """Sends mail to project owners using Mailjet API endpoint

    Args:
        recipients ([dict()]): JSON-like recipient array
    """
    data = open("../Data/Output/Production/predictions.csv", 'rb').read()
    base64_encoded = base64.b64encode(data).decode('UTF-8')
    api_key = '*****'
    api_secret = '*****'
    mailjet = Client(auth=(api_key, api_secret), version='v3.1')
    data = {
        'Messages': [{
            "From": {
                "Email": "*****@*****.**",
                "Name": "Mogilno"
            },
            "To":
            recipients,
            "Subject":
            "Prediction Vola Open pour le " + tradingDay,
            "TextPart":
            "Ceci est un mail automatique.\nTableau des résultats de prédictions par le réseau pour la journée du "
            + predictionDay +
            ".\nLa valeur de prédiction est comprise entre 0 et 1:\n1 étant fortement recommandé, 0 étant pas du tout recommandé.",
            "Attachments": [{
                "ContentType": "text/plain",
                "Filename": "predictions.csv",
                "Base64Content": base64_encoded
            }],
            "CustomID":
            "AppPredictionData"
        }]
    }
    result = mailjet.send.create(data=data)
    print(result.status_code)
    print(result.json())
コード例 #23
0
ファイル: utils.py プロジェクト: horlahlekhon/Esusu-api
def send_mail(subject, user, text_heading, payload):
    mail_client = Client(
        auth=(MAILJET_API_KEY, MAILJET_API_SECRET), version='v3.1')
    data = data = {
        'Messages': [
            {
                "From": {
                    "Email": REGISTERED_MAIL,
                    "Name": SITE_ADMIN
                },
                "To": [
                    {
                        "Email": user.email,
                        "Name": user.username
                    }
                ],
                "Subject": subject,
                "TextPart": text_heading,
                "HTMLPart": payload
            }
        ]
    }
    response = mail_client.send.create(data=data)
    return response
コード例 #24
0
ファイル: main.py プロジェクト: betagouv/itou_c4_python_api
def send_notification(query):
    cfg = config['email']
    msg = {}
    msg['From'] = {
        'Name': 'BITOUBI Notifications',
        'Email': '<*****@*****.**>'
    }
    msg['To'] = [{'Name': 'Le Marché', 'Email': cfg['addr']}]

    logger.info('connecting')
    mailjet = Client(auth=(cfg['api_key'], cfg['api_secret']), version='v3.1')
    data = {
        'Messages': [{
            'From': msg['From'],
            'To': msg['To'],
            'Subject':
            f"C4 Notif: {MSG_LIST.get(query.action, 'action')} [{query.env}]",
            'TextPart': write_notification(query)
        }]
    }
    result = mailjet.send.create(data=data)
    logger.info(result.status_code)
    logger.info(result.json())
    logger.info('Sent notification %s', data['Messages'][0]['Subject'])
コード例 #25
0
def sendEmail(subject, mail):
    format_email_cc = []
    for email in emails_list:
        format_email_cc.append(Client(email, email.split("@")[0]))

    data = {
        "Globals": {
            "From": {
                "Email": email_from,
                "Name": email_from.split("@")[0]
            },
            "Cc": format_email_cc,
            "Subject": subject,
            "HTMLPart": mail
        },
        "Messages": [{
            "To": [{
                "Email": email_to,
                "Name": email_to.split("@")[0]
            }]
        }]
    }
    result = mailjet.send.create(data=data)
    return result
コード例 #26
0
def emailforgotpassword(request):
    data = request.data
    recemail = data['email']
    link = "www.vendorsin.com"
    try:
        user = UserRegistration.objects.get(user_mail=recemail)
        if user:
            api_key = '760b42c43a3522e91e004257a100d97e'
            api_secret = 'a789bad80219938e51485b2d53db68d3'
            mailjet = Client(auth=(api_key, api_secret), version='v3.1')
            data1 = {'Messages': [
                {"From": {"Email": "*****@*****.**", "Name": "Vendors In"}, "To": [{"Email": recemail}],
                 "Subject": "Password Change",
                 "TextPart": "Dear User,\n\nclick link here to change password: "******"\n\nThis is System Generated Email Please Don't Reply For This Mail"}]}
            result = mailjet.send.create(data=data1)
            if result.status_code == 200:
                return Response({'status': 200, 'message': 'mail sent successfully'}, status=200)

            else:
                return Response({'status': 424, 'message': 'mail not sent'}, status=424)
    except ObjectDoesNotExist as e:
        return Response({'status': 404, 'error': "email not exist"}, status=404)
    except Exception as e:
        return Response({'status': 500, 'error': str(e)}, status=500)
コード例 #27
0
def book():
    MAILJET_KEY = os.getenv('MAILJET_KEY')
    API_SECRET = os.getenv('API_SECRET')
    mailjet = Client(auth=(MAILJET_KEY, API_SECRET), version='v3.1')
    claim = get_jwt_identity()
    data = request.json
    student_id = claim.get('student')
    logging.info(data, data.get('id', ''))
    student = Student.query.filter_by(id=student_id)
    yoga_class = Yogaclass.query.filter_by(id=data.get('id')).first()
    yoga_class.student_id = student_id

    data = {
        'Messages': [{
            "From": {
                "Email": " " + yoga_class.teacher_id.email,
                "Name": "Mai"
            },
            "To": [{
                "Email": " " + student.email,  #pass in the student email here
                "Name":
                " " + student.first_name,  #pass in the student name here
            }],
            "Subject":
            "Class booked for " + yoga_class.title,
            "TextPart":
            "Namaste",
            "HTMLPart":
            "<h3>Dear passenger 1, welcome to <a href='https://www.mailjet.com/'>Mailjet</a>!</h3><br />May the delivery force be with you!",
            "CustomID":
            "AppGettingStartedTest"
        }]
    }
    result = mailjet.send.create(data=data)
    db.session.commit()
    return json.dumps({'confirmation': 'true'})
コード例 #28
0
def envoi_mail_reset_mdp(email):

    #définir les API_KEY
    api_key = '3c7d767dbc11a8a4b0b53962cd823d23'
    api_secret = '7761428aea9ca5e3e6cab1419c89389b'

    mailjet = Client(auth=(api_key, api_secret), version='v3.1')
    data = {
        'Messages': [{
            "From": {
                "Email": "*****@*****.**",
                "Name": "Sofiane"
            },
            "To": [{
                "Email": email,
                "Name": " "
            }],
            "Subject":
            "Test Application FootEvent",
            "HTMLPart":
            "<h3>Bonjour, Veuillez réinitialiser votre mot de passe en cliquant sur le lien suivant <a href='http://127.0.0.1:5000/mdp_reset'>Mot_de_passe</a>!</h3><br /> Merci, en vous souhaitant une bonne journée"
        }]
    }
    result = mailjet.send.create(data=data)
コード例 #29
0
def emailNotification(toaddrs,subject, rssItems):
    """
    emailNotification: Send email notification if provided. Using mailjet api
    """
    logger.info('Send notification', extra={'toaddrs':toaddrs,'subject':subject, 'body':rssItems})

    api_key = ''
    api_secret = ''
   
    mailjet = Client(auth=(api_key, api_secret), version='v3.1')
    data = {
        'Messages': [
            {
            "From": {
                "Email": "*****@*****.**",
                "Name": "email-notifier"
            },
            "To": [
                {
                "Email": toaddrs,
                "Name": "recipient"
                }
            ],
            "Subject": subject,
            "HTMLPart": rssItems,
            "CustomID": "AppGettingStartedTest"
            }
        ]
    }
    try:    
        result = mailjet.send.create(data=data)
        logger.info('emailNotification', extra={'result': result.json()})
        return result.json()
    except Exception as e:
        logger.info('emailNotification', extra={'exception': e})      
        return e
コード例 #30
0
from mailjet_rest import Client
from check import checkAndBreak
import os

# Get your environment Mailjet keys
API_KEY = '4716c6d88b4d3d8a9ae3507ba834bb42'
API_SECRET = '30214f5c5ade691ae57e1c93144d0b81'

frommail = '*****@*****.**'
fromname = 'Mailjet Pilot'
subject = 'Your email flight plan!'
text = 'Dear passenger, welcome to Mailjet! May the delivery force be with you!'
htlm = '<h1>Testing</h1>'

mailjet = Client(auth=(API_KEY, API_SECRET), version='v3')
email_data = {
    'FromEmail': '*****@*****.**',
    'FromName': 'Mailjet Pilot',
    'Subject': 'Your email flight plan!',
    'Text-part':
    'Dear passenger, welcome to Mailjet! May the delivery force be with you!',
    'Html-part': '<h1>Testing</h1>',
    'Recipients': [{
        "Email": "*****@*****.**"
    }]
}
result = mailjet.send.create(data=email_data)
if result.status_code == 200:
    checkAndBreak(subject)
コード例 #31
0
ファイル: app.py プロジェクト: decipher111/abcxyz
from class_data import GetInstitutionFromLectureId
from class_data import GetCourseNameFromLectureId
from class_data import GetDateOfLectureFromLectureId
from passlib.hash import sha256_crypt
from random import choice, randint
from mailjet_rest import Client
from google.cloud import storage

BUCKET_NAME = 'chalkboards_uploads'
MAILJET_API_KEY = 'bffc84aea3085b6e9ecd32dafe49d81e'
MAILJET_API_SECRET = 'bf4a0b01f8c476331d57396d24f8cc5d'
MAILJET_SENDER = '*****@*****.**'
MALFORMED_REQUEST = 'Malformed request. Operation could not be completed.'
UNAUTHORIZED_USER = '******'

mailjet = Client(auth=(MAILJET_API_KEY, MAILJET_API_SECRET), version='v3.1')

app = Flask(__name__)

users_by_user_id = {}
user_id_by_email = {}
user_credentials = {}
passwords = set()

characters = string.ascii_letters + string.punctuation + string.digits


def is_ipv6(addr):
    """Checks if a given address is an IPv6 address."""
    try:
        socket.inet_pton(socket.AF_INET6, addr)
コード例 #32
0
class Mailjet(Base_messagerie):
    def __init__(self, **kwds):
        Base_messagerie.__init__(self, **kwds)

    def Connecter(self):
        # Récupération des clés Mailjet
        api_key = self.dict_parametres.get("api_key", None)
        api_secret = self.dict_parametres.get("api_secret", None)
        if api_key == None or api_secret == None:
            raise ValueError(u"Les codes MAILJET ne sont pas valides.")

        # Connexion à Mailjet
        try:
            from mailjet_rest import Client
            self.connection = Client(auth=(api_key, api_secret), version='v3.1')
        except Exception as err:
            raise

    # def Envoyer_archive(self, message=None, afficher_confirmation_envoi=False):
    #     self.Envoyer_lot(messages=[message,], afficher_confirmation_envoi=afficher_confirmation_envoi)
    #
    # def Envoyer_lot_archive(self, messages=[], dlg_progress=None, afficher_confirmation_envoi=True):
    #     """ Envoi des messages par lot """
    #     data = {"Messages": []}
    #     for message in messages:
    #
    #         # Préparation du message
    #         dict_message = {
    #             "From": {"Email": self.email_exp, "Name": self.nom_exp},
    #             "To": [{"Email": destinataire} for destinataire in message.destinataires],
    #             "Subject": message.sujet,
    #             "TextPart": message.texte_plain,
    #             "HTMLPart": message.texte_html,
    #             "Attachments": [],
    #             "InlinedAttachments": [],
    #         }
    #
    #         # Intégration des images incluses
    #         index = 0
    #         for fichier in message.images:
    #             ctype, encoding = mimetypes.guess_type(fichier)
    #             with open(fichier, "rb") as file:
    #                 Base64Content = base64.b64encode(file.read())
    #             nom_fichier = os.path.basename(fichier)
    #
    #             dict_fichier = {
    #                 "ContentType": ctype,
    #                 "Filename": nom_fichier,
    #                 "ContentID": "image%d" % index,
    #                 "Base64Content": Base64Content,
    #             }
    #             dict_message["InlinedAttachments"].append(dict_fichier)
    #             index += 1
    #
    #         # Intégration des pièces jointes
    #         for fichier in message.fichiers:
    #             ctype, encoding = mimetypes.guess_type(fichier)
    #             with open(fichier, "rb") as file:
    #                 Base64Content = base64.b64encode(file.read())
    #             nom_fichier = os.path.basename(fichier)
    #
    #             dict_fichier = {
    #                 "ContentType": ctype,
    #                 "Filename": nom_fichier,
    #                 "Base64Content": Base64Content,
    #             }
    #             dict_message["Attachments"].append(dict_fichier)
    #
    #         # Mémorisation du message
    #         data["Messages"].append(dict_message)
    #
    #     if wx.GetKeyState(wx.WXK_CONTROL) == True:
    #         from Utils import UTILS_Json
    #         UTILS_Json.Ecrire(nom_fichier=UTILS_Fichiers.GetRepTemp(fichier="appel_mailjet.txt"), data=data)
    #         return False
    #
    #     # Envoi de la requête à Mailjet
    #     resultats = self.connection.send.create(data=data)
    #     # print resultats.status_code
    #     # print resultats.json()
    #
    #     # Analyse des résultats
    #     liste_succes = []
    #     listeAnomalies = []
    #     index = 0
    #     for message in messages:
    #         resultat_message = resultats.json()["Messages"][index][u'Status']
    #         if resultat_message == u'success':
    #             liste_succes.append(message)
    #         else :
    #             listeAnomalies.append((message, resultat_message))
    #         index += 1
    #
    #     # Fin de la gauge
    #     if dlg_progress != None:
    #         dlg_progress.Update(index, _(u"Fin de l'envoi."))
    #         dlg_progress.Destroy()
    #
    #     # Si tous les Emails envoyés avec succès
    #     if len(listeAnomalies) == 0 and afficher_confirmation_envoi == True:
    #         if len(liste_succes) == 1:
    #             message = _(u"L'Email a été envoyé avec succès !")
    #         else:
    #             message = _(u"Les %d Emails ont été envoyés avec succès !") % len(liste_succes)
    #         dlg = wx.MessageDialog(None, message, _(u"Fin de l'envoi"), wx.OK | wx.ICON_INFORMATION)
    #         dlg.ShowModal()
    #         dlg.Destroy()
    #
    #     # Si Anomalies
    #     if len(listeAnomalies) > 0 and len(messages) > 1:
    #         if len(liste_succes) > 0:
    #             intro = _(u"%d Email(s) ont été envoyés avec succès mais les %d envois suivants ont échoué :") % (
    #             len(liste_succes), len(listeAnomalies))
    #         else:
    #             intro = _(u"Tous les envois ont lamentablement échoué :")
    #         lignes = []
    #         for message, erreur in listeAnomalies:
    #             adresse = message.GetLabelDestinataires()
    #             try:
    #                 lignes.append(u"- %s : %s" % (adresse.decode("iso-8859-15"), erreur))
    #             except:
    #                 lignes.append(u"- %s : %s" % (adresse, erreur))
    #         dlg = DLG_Messagebox.Dialog(None, titre=_(u"Compte-rendu de l'envoi"), introduction=intro,
    #                                     detail="\n".join(lignes), icone=wx.ICON_INFORMATION, boutons=[_(u"Ok"), ])
    #         dlg.ShowModal()
    #         dlg.Destroy()
    #
    #     return liste_succes


    def Envoyer(self, message=None):
        # Préparation du message
        dict_message = {
            "From": {"Email": self.email_exp, "Name": self.nom_exp},
            "To": [{"Email": destinataire} for destinataire in message.destinataires],
            "Subject": message.sujet,
            "TextPart": message.texte_plain,
            "HTMLPart": message.texte_html,
            "Attachments": [],
            "InlinedAttachments": [],
        }

        # Intégration des images incluses
        index = 0
        for fichier in message.images:
            ctype, encoding = mimetypes.guess_type(fichier)
            with open(fichier, "rb") as file:
                Base64Content = base64.b64encode(file.read())
            nom_fichier = os.path.basename(fichier)

            dict_fichier = {
                "ContentType": ctype,
                "Filename": nom_fichier,
                "ContentID": "image%d" % index,
                "Base64Content": Base64Content,
            }
            dict_message["InlinedAttachments"].append(dict_fichier)
            index += 1

        # Intégration des pièces jointes
        for fichier in message.fichiers:
            ctype, encoding = mimetypes.guess_type(fichier)
            with open(fichier, "rb") as file:
                Base64Content = base64.b64encode(file.read())
            nom_fichier = os.path.basename(fichier)

            dict_fichier = {
                "ContentType": ctype,
                "Filename": nom_fichier,
                "Base64Content": Base64Content,
            }
            dict_message["Attachments"].append(dict_fichier)

        # Envoi de la requête à Mailjet
        resultats = self.connection.send.create(data={"Messages": [dict_message,]})
        # print resultats.status_code
        # print resultats.json()

        # Analyse du résultat
        resultat = resultats.json()["Messages"][0][u'Status']
        if resultat != u'success':
            raise Exception(resultat)

        return resultat

    def Fermer(self):
        self.connection.close()

    def Envoyer_lot(self, messages=[], dlg_progress=None, afficher_confirmation_envoi=True):
        """ Envoi des messages par lot """
        # Envoi des mails
        index = 1
        listeAnomalies = []
        listeSucces = []
        ne_pas_signaler_erreurs = False
        for message in messages:
            while True:
                adresse = message.GetLabelDestinataires()
                try:
                    labelAdresse = adresse.decode("iso-8859-15")
                except:
                    labelAdresse = adresse
                label = _(u"Envoi %d/%d : %s...") % (index, len(messages), labelAdresse)

                # Si la dlg_progress a été fermée, on la réouvre
                if dlg_progress == None:
                    dlg_progress = wx.ProgressDialog(_(u"Envoi des mails"), _(u""), maximum=len(messages) + 1, parent=None)
                    dlg_progress.SetSize((450, 140))
                    dlg_progress.CenterOnScreen()
                dlg_progress.Update(index, label)

                # Envoi
                try:
                    self.Envoyer(message)
                    listeSucces.append(message)
                except Exception as err:
                    err = str(err).decode("iso-8859-15")
                    listeAnomalies.append((message, err))
                    print(("Erreur dans l'envoi d'un mail : %s...", err))
                    traceback.print_exc(file=sys.stdout)

                    if ne_pas_signaler_erreurs == False:

                        # Fermeture de la dlg_progress
                        dlg_progress.Destroy()
                        dlg_progress = None

                        # Affichage de l'erreur
                        intro = _(u"L'erreur suivante a été détectée :")
                        detail = err
                        if index <= len(messages) - 1:
                            conclusion = _(u"Souhaitez-vous quand même continuer l'envoi des autres emails ?")
                            boutons = [_(u"Réessayer"), _(u"Continuer"),
                                       _(u"Continuer et ne plus signaler les erreurs"), _(u"Arrêter")]
                        else:
                            conclusion = None
                            boutons = [_(u"Réessayer"), _(u"Arrêter"), ]
                        dlgErreur = DLG_Messagebox.Dialog(None, titre=_(u"Erreur"), introduction=intro, detail=detail,
                                                          conclusion=conclusion, icone=wx.ICON_ERROR, boutons=boutons)
                        reponse = dlgErreur.ShowModal()
                        dlgErreur.Destroy()
                        if reponse == 0:
                            continue
                        if reponse == 2:
                            ne_pas_signaler_erreurs = True
                        if reponse == 3:
                            return listeSucces
                break

            if len(messages) > 1:
                time.sleep(1)
            index += 1

        # Fin de la gauge
        if dlg_progress != None:
            dlg_progress.Update(index, _(u"Fin de l'envoi."))
            dlg_progress.Destroy()

        # Si tous les Emails envoyés avec succès
        if len(listeAnomalies) == 0 and afficher_confirmation_envoi == True:
            if len(listeSucces) == 1:
                message = _(u"L'Email a été envoyé avec succès !")
            else:
                message = _(u"Les %d Emails ont été envoyés avec succès !") % len(listeSucces)
            dlg = wx.MessageDialog(None, message, _(u"Fin de l'envoi"), wx.OK | wx.ICON_INFORMATION)
            dlg.ShowModal()
            dlg.Destroy()

        # Si Anomalies
        if len(listeAnomalies) > 0 and len(messages) > 1:
            if len(listeSucces) > 0:
                intro = _(u"%d Email(s) ont été envoyés avec succès mais les %d envois suivants ont échoué :") % ( len(listeSucces), len(listeAnomalies))
            else:
                intro = _(u"Tous les envois ont lamentablement échoué :")
            lignes = []
            for message, erreur in listeAnomalies:
                adresse = message.GetLabelDestinataires()
                try:
                    lignes.append(u"- %s : %s" % (adresse.decode("iso-8859-15"), erreur))
                except:
                    lignes.append(u"- %s : %s" % (adresse, erreur))
            dlg = DLG_Messagebox.Dialog(None, titre=_(u"Compte-rendu de l'envoi"), introduction=intro, detail="\n".join(lignes), icone=wx.ICON_INFORMATION, boutons=[_(u"Ok"), ])
            dlg.ShowModal()
            dlg.Destroy()

        return listeSucces

    def Fermer(self):
        pass