Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie
×

Help Tweakers weer winnen!

Tweakers is dit jaar weer genomineerd voor beste prijsvergelijker en beste community. Laten we ervoor zorgen dat heel Nederland weet dat Tweakers de beste website is. Stem op Tweakers!

Mail via Python-script: afzender niet te wijzigen

Pagina: 1
Acties:

Onderwerpen


  • Borromini
  • Registratie: januari 2003
  • Niet online

Borromini

mislukt misantroop

Topicstarter
Ik heb een mailscriptje in mekaar gezet (Python noob). Uiteindelijk komt het op m'n server te draaien waar het HTML-invoer moet afvangen, maar ik wil eerst zeker zijn dat het überhaupt werkt. Voor het gemak laat ik het script mails sturen via mijn Gmail-account naar de bestemmeling.

Op de server draait een website, en Postfix. Mails gericht aan dat domein worden afgevangen door Postfix en (voorlopig, testfase) naar mijn eigen Gmail-adres gestuurd. Eens alles werkt zal het nog steeds naar Gmail worden gestuurd, maar dan van de eigenaar van de site.

Hoe kan ik de afzender 'spoofen'? Het is de bedoeling dat de website-eigenaar het adres te zien krijgt van de persoon die hem gemaild heeft; niet van mijn mailaccount (waar Postfix 'm naar forward). Ik krijg dit met geen stokken aangepast.

Hieronder het script.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/usr/bin/env python

# Import what we need. MIMEText should do just fine.
import smtplib
from email.mime.text import MIMEText

# Create the container
msg = MIMEText('Dit is een testmail. Waarom stuurt Google hem niet door??')
msg['Subject'] = 'Mail via de website'
msg['From'] = 'adres@randomwebsite'     # Wat ik er ook van maak, het blijft mijn Gmail-adres tonen in de ontvangen mail.
msg['To'] = 'bestemmeling@eigensite'
msg.preamble = 'Mail via de website'

# Authentication
smtpserver = 'smtp.gmail.com'
AUTHREQUIRED = 1
smtpuser = 'xx.xx@gmail.com'
smtppass = 'blabla'

# Send the e-mail
mailServer = smtplib.SMTP('smtp.gmail.com',587)
mailServer.ehlo()
mailServer.starttls()
mailServer.ehlo()
mailServer.login(smtpuser, smtppass)
mailServer.sendmail('adres@randomwebsite','bestemmeling@eigensite',msg.as_string())
mailServer.close()

Got Leenucks? | Debian Stretch x86_64 | LEDE: Empower your router (OpenWrt successor) | Blogje


  • azerty
  • Registratie: maart 2009
  • Laatst online: 08:57

azerty

McFly

Dat ga je imho niet aangepast krijgen, omdat Gmail het altijd gaat overschrijven met het gmail adres.

Wat je beter kunt doen, is een reply-to header toevoegen, zodat als je de email wilt beantwoorden, het emailadres van de verzender (van het formulier) automatisch ingevuld kan worden.

Combineer dat met het instellen van een no-reply@ als afzender (je kunt in gmail een extra emailadres als om als afzender te gebruiken instellen, maar dat moet geverifieerd worden), en je zou vrij goed moeten zitten.

  • Borromini
  • Registratie: januari 2003
  • Niet online

Borromini

mislukt misantroop

Topicstarter
Ondertussen heb ik inderdaad gevonden dat Google dat niet toelaat. De reply-to werkt, maar dan ziet de eigenaar nog steeds mijn adres. Postfix draait toch al, ik denk dat ik die maar de mails laat versturen.

Got Leenucks? | Debian Stretch x86_64 | LEDE: Empower your router (OpenWrt successor) | Blogje


  • mrFoce
  • Registratie: augustus 2004
  • Laatst online: 17-10 22:20
Misschien niet direct het antwoord of je vraag (die je al beantwoord hebt), maar kijk ook is naar services zoals Mailgun of Mandrill, die laten dat volgens mij wel toe. Gebruik zelf deze services voor productie en test systemen :)

  • azerty
  • Registratie: maart 2009
  • Laatst online: 08:57

azerty

McFly

quote:
Borromini schreef op zaterdag 17 oktober 2015 @ 00:50:
Ondertussen heb ik inderdaad gevonden dat Google dat niet toelaat. De reply-to werkt, maar dan ziet de eigenaar nog steeds mijn adres. Postfix draait toch al, ik denk dat ik die maar de mails laat versturen.
Zoals gezegd, dat zou op te lossen zijn door een extra adres (bijv. no-reply@mijndomein.nl) in je gmail te laten verifiëren, en dat dan te gebruiken als de "from".



Je kunt anders inderdaad wel postfix gebruiken, maar let er op, dat als je dan je "from" instelt als het adres van de afzender (laten we nu eens piet@gmail.com nemen), er een kans is dat je email als spam gemarkeerd gaat worden (vanwege SPF records, en nog andere zaken).

Technisch gezien is het het beste om van de "from" een adres te gebruiken waar je controle over hebt (dus noreply@domein.nl of iets gelijkaardigs), en dan een "reply-to" gebruikt om bij antwoorden de invuller te bereiken.

azerty wijzigde deze reactie 17-10-2015 05:11 (32%)


  • Creepy
  • Registratie: juni 2001
  • Laatst online: 04:14

Creepy

Moderator Devschuur®

Tactical Espionage Splatterer

quote:
mrFoce schreef op zaterdag 17 oktober 2015 @ 04:26:
Misschien niet direct het antwoord of je vraag (die je al beantwoord hebt), maar kijk ook is naar services zoals Mailgun of Mandrill, die laten dat volgens mij wel toe. Gebruik zelf deze services voor productie en test systemen :)
Maar zelfs als ze het toelaten kan je tegen problemen aanlopen. Als iemand SPF, DKIM, of zelfs DMARC heeft ingesteld dan gaat jouw mail met zijn mailadres in de from niet aankomen. Je wil altijd een from adres (met een domein) waar je zelf controle over hebt.

Edit: lekker gelezen, wat azerty zegt dus ;)

Creepy wijzigde deze reactie 17-10-2015 20:39 (3%)

There are only two hard things in computer science: Naming things and vertically centering things - @DavidKPiano
We're building self-driving cars, but we haven't even figured out how to make sure vacuum cleaners don't join botnets.


  • Borromini
  • Registratie: januari 2003
  • Niet online

Borromini

mislukt misantroop

Topicstarter
De mails moeten weldegelijk aankomen, beste oplossing lijkt dan inderdaad van noreply@eigensite en het e-mailadres van de afzender in Reply-to.

Bedankt!

Got Leenucks? | Debian Stretch x86_64 | LEDE: Empower your router (OpenWrt successor) | Blogje

Pagina: 1


Apple iPhone XS Red Dead Redemption 2 LG W7 Google Pixel 3 XL OnePlus 6T FIFA 19 Samsung Galaxy S10 Google Pixel 3

Tweakers vormt samen met Tweakers Elect, Hardware.Info, Autotrack, Nationale Vacaturebank en Intermediair de Persgroep Online Services B.V.
Alle rechten voorbehouden © 1998 - 2018 Hosting door True