Reading time: 1 minutes
Elektroninių laiškų siuntimas (Google Python funkcija) [Siuntimas per Gmail]
Elektroniniai laiškai su Python? Taip, o kodėl gi ne? O jei tai šiek tiek automatizuotumėte ir sukurtumėte Google Python funkciją?
Funkcija
Super slaptas aplikacijos slaptažodis
Jį gausite aplankę šį puslapį: https://support.google.com/accounts/answer/185833?hl=en
requirements.txt
requests==2.24.0
unidecode==1.2.0
Kodas
import smtplib, ssl, json
import requests
from unidecode import unidecode
class Mail:
def __init__(self):
self.port = 465
self.smtp_server_domain_name = "smtp.gmail.com"
self.sender_mail = "youremail"
self.password = "yourverysecretpassword"
def send(self, email, subject, content):
ssl_context = ssl.create_default_context()
service = smtplib.SMTP_SSL(self.smtp_server_domain_name, self.port, context=ssl_context)
service.login(self.sender_mail, self.password)
result = service.sendmail(self.sender_mail, email, f"Subject: {subject}\n{content}")
service.quit()
def ini_req(request):
headers = request.headers;
key="123";
if(headers.get("key") is not None and key == headers.get("key")):
fetch_url = "anendpointtofetchthelatestpost"
r = requests.get(fetch_url)
json_data = json.loads(r.text)
first_post = json_data["items"][0]
title = first_post["title"]
link = first_post["url"]
new_content = "Naujas įrašas: {}".format(link)
mail = Mail()
email = "ourrecipient"
mail.send(email, unidecode(str(title)), unidecode(str(new_content)))
response_headers = {
"Access-Control-Allow-Origin":"*",
'Content-Type':'application/json'
}
return (json.dumps("ok"),200,response_headers)
else:
return (json.dumps("Error: Wrong authorization credentials"),200,response_headers)
Testas
Paprasta užklausa ir voila. Elektroninis laiškas išsiųstas.
import requests
h = {
"key":"123"
}
r= requests.get("https://googlefunction",headers=h)
print(r.text)
Visa pateikiama informacija - asmeninė autoriaus nuomonė. Kilus naiškumams rekomenduojama susisiekti elektroniniu paštu: admin@artefaktas.eu
Artefaktas.eu is licensed under CC BY-NC-ND 4.0