[php] e-mail form zonder vaste SMTP server

Pagina: 1
Acties:
  • 158 views sinds 30-01-2008
  • Reageer

Onderwerpen


  • timovd
  • Registratie: Maart 2002
  • Laatst online: 21:26

timovd

Voorsprong door techniek

Topicstarter
Ik heb al gezocht op php.net, google en GoT, maar heb geen antwoord kunnen vinden. De hosting privider van een klant heeft geen SMTP server.
Is het mogelijk om dan een e-mail form te maken(in PHP) en de mails te versturen via de SMTP server van de bezoeker van de site?
(Voorbeeld: Ik ga naar de website met mijn wanadoo verbinding; de mail wordt dan verstuurd via smtp.wanadoo.nl)
Bij alles wat ik heb gevonden moet je vooraf een SMTP server instellen.
Heeft er iemand een voorbeeld van een mail form zónder vaste SMTP server.

Gasloos huis 9kW Panasonic WH-MDC09J3E5 | Atlantic Explorer V4 270L | 8715Wp @ SMA Tripower 6.0-3AV-40 (4150Wp NO, 4565Wp ZW)


  • HansMij
  • Registratie: Mei 2002
  • Laatst online: 13-09 14:42
timow schreef op donderdag 17 november 2005 @ 13:48:
[...]
Bij alles wat ik heb gevonden moet je vooraf een SMTP server instellen.
Heeft er iemand een voorbeeld van een mail form zónder vaste SMTP server.
Behalve mail.home.nl bijvoorbeeld. Je mag er nooit vanuit gaan dat een SMTP-server smtp. als prefix heeft.

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Ehm, en wat als een wanado-bezoeker iets naar een @home.nl wil mailen? Dat gaat dus niet lukken via wanado's server.

Je zult de SMTP-server uit de MX-record van het "To"-adres meoten halen... getmxrr() is daar wel handig voor :) (Mocht je MX-records etc niet begrijpen, dan moet je daar maar ff op Googlen)

[ Voor 56% gewijzigd door Osiris op 17-11-2005 13:55 ]


  • frickY
  • Registratie: Juli 2001
  • Laatst online: 18-09 14:42
Nee, dat lukt niet
Meeste SMTP servers (XS4ALL, Chello) weigeren e-mails van buiten hun eigen netwerk te versturen.
Je kunt alleen gebruik maken van hun SMTP-server als je in hun netwerk hangt.

Oplossing; draai zlef een SMTP-server op die machine, of zoek een open SMTP-server via waar je al je mails laat lopen.

  • Sendy
  • Registratie: September 2001
  • Niet online
En als je dat laatste weet te vinden, vergeet dan niet de beheerder te e-mailen dat-ie een open relay heeft ;)

[ Voor 3% gewijzigd door Sendy op 17-11-2005 15:42 ]


  • Osiris
  • Registratie: Januari 2000
  • Niet online
frickY schreef op donderdag 17 november 2005 @ 13:57:
Nee, dat lukt niet
Meeste SMTP servers (XS4ALL, Chello) weigeren e-mails van buiten hun eigen netwerk te versturen.
Je kunt alleen gebruik maken van hun SMTP-server als je in hun netwerk hangt.

Oplossing; draai zlef een SMTP-server op die machine, of zoek een open SMTP-server via waar je al je mails laat lopen.
Hahaha, open SMTP-server, dan weet je 99,999% zeker dat je emails in de spambox komen van de ontvanger.

Je kunt verder prima vanaf de server direct naar de ontvangende SMTP-server mailen die opgegeven staat in de MX-record van de geaddresseerde.
Bijv: je wilt mailen naar foo@bar.nl. Vervolgens zoek je met getmxrr() op wat de MX-record(s) van bar.nl is/zijn. Da's bijv mail.bar.nl ofzo (máár daar kun je dus niet vanuit gaan!). Vervolgens open je een socket naar mail.bar.nl en volg je het SMTP-protocol of je stelt via ini_set die SMTP-server in ofzo, kweenie of dat kan, en pruts je met mail() verder.
Resultaat: mail komt meteen bij de ontvanger terecht, tenzij jouw server's IP als spam-IP bekend staat.

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 21:01
Weet je zeker dat je hoster onder Windows draait dan? Onder een normaal (POSIX) besturingssysteem gebruikt PHP gewoon de lokale MTA (sendmail of een alternatief) en dan heb je dus geen SMTP server nodig.

  • Palomar
  • Registratie: Februari 2000
  • Niet online
Wat jij wilt kan sowieso niet, want het script wordt uitgevoerd vanaf de server en die heeft dus helemaal niks te maken met de SMTP-server die de bezoeker gebruikt. En ook al kan het wel dan kun je er niet vanuit gaan dat elke bezoeker een provider heeft met een mailserver (ja ok, meestal wel, maar er zijn uitzonderingen).

Ik zou iets anders proberen. Bijv. een formulier met als actie "mailto:" (mailprogramma van de bezoeker wordt dan gebruikt). Al staat dat nog steeds niet erg professioneel...
Misschien dat je provider wat standaard cgi-mailscriptjes heeft? Al ben je daar ook een mailserver voor nodig...

[ Voor 19% gewijzigd door Palomar op 17-11-2005 15:44 ]


  • Shadowman
  • Registratie: Januari 2002
  • Niet online
Er zijn ook smtp-servers die authenticatie vereisen voor het versturen van mail van buiten het netwerk van de ISP naar een ander e-mailadres binnen of buiten het netwerk van de ISP. Ik geloof dat xs4all dat wel ondersteund, misschien is dat een mogelijkheid?

  • Madcat
  • Registratie: Juli 2002
  • Niet online
Het hele idee van PHP is dat het op de server kant wordt uitgevoerd, als je een PHP mail form wilt gebruiken dan zal dat altijd via de server gaan.

wat je wel kan doen is iid de mail client gebruiken van de bezoeker door de link:
mailto:ikke@hiero.nl?subject=emmz&body=blabla

  • Devian
  • Registratie: Juni 2000
  • Laatst online: 21:03
ik zou zelf een smtp servertje opzetten....is het minste werk en gelijk ook het meest effectieve... of een fatsoenlijke hostingprovider zoeken ;)

https://wren.co/join/Devian


  • Gwaihir
  • Registratie: December 2002
  • Niet online
Hmm.. 't kan wel: je kiest dan voor je form action="mailto:e-mail@addres.com". Wanneer de inzender dan op submit drukt probeert de pc 'm via zijn eigen e-mail (die van de client dus) te verzenden. Elegant is het niet, want wat als die pc nu geen e-mail ingesteld heeft, of als de verzender z'n e-mail helemaal niet prijs wil geven, of ... Maar: het kan wel en is geheel niet van de server's mogelijkheden tot e-mail afhankelijk.

  • xces
  • Registratie: Juli 2001
  • Laatst online: 20-09 16:56

xces

To got or not to got..

Wat dacht je van de ugly box "This page is trying to send this form via e-mail" melding die je dan in iexplore krijgt? juk!

  • Sendy
  • Registratie: September 2001
  • Niet online
Ik zag trouwens dat er een volwaardige e-mail server voor php is. (En dat met een simpele "e-mail php" query in Google :|)

  • timovd
  • Registratie: Maart 2002
  • Laatst online: 21:26

timovd

Voorsprong door techniek

Topicstarter
Features

* Can send emails with multiple TOs, CCs, BCCs and REPLY-TOs
* Redundant SMTP servers
* Multipart/alternative emails for mail clients that do not read HTML email
* Support for 8bit, base64, binary, and quoted-printable encoding
* Uses the same methods as the very popular AspEmail active server (COM) component
* SMTP authentication
* Word wrap
Deze link had ik al bekeken, maar vereist ook een SMTP server.

Gasloos huis 9kW Panasonic WH-MDC09J3E5 | Atlantic Explorer V4 270L | 8715Wp @ SMA Tripower 6.0-3AV-40 (4150Wp NO, 4565Wp ZW)


  • wizzkizz
  • Registratie: April 2003
  • Laatst online: 25-07 07:34

wizzkizz

smile...tomorrow will be worse

timow schreef op donderdag 17 november 2005 @ 22:42:
[...]

Deze link had ik al bekeken, maar vereist ook een SMTP server.
features != requirements, oftewel: het ondersteunt SMTP-authenticatie.

Make it idiot proof and someone will make a better idiot.
Real programmers don't document. If it was hard to write, it should be hard to understand.

Pagina: 1