[PHP]Warning: mail(): Failed to connect to mailserver ..

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

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi...

heb de melding :

code:
1
Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in my_sendmail.php on line 49


Heb ff wat gezocht en kwam op

code:
1
2
3
4
5
6
7
8
9
10
11
ini_set("SMTP","mail.domain.com");
ini_set("sendmail_from","user@domain.com");

if (mail("me@mydomain.com","This is a test","This is the body","From: user@domain.com\r\nContent-type: text/plain\r\n\r\n"))
{
print "Success";
}
else
{
print "Failed";
}


Als ik de script ff aanpas (mijn server invullen enzo), dan werkt het. Eerst gebruikte ik localhost als SMTP server en nu gebruik ik vb mail.mijnserver.nl.

Nu doet ti ut wel, maar op de server staan +- 100 websites die php runnen en een emailscript hebben. Nu kan ik vrolijk die ini_set in elk php script douwen en die SMTP server opgeven, maar ja dat is ook een gedoe.

Kan ik dit niet in PHP.ini opgeven ofzo? Of weet iemand hoe dit automatisch gaat. In mijn PHP.ini staat gewoon SMTP op localhost. Hoe doet *NIX varianten dat?

De server is een Windows 2003 server. Webserver is IIS.

Acties:
  • 0 Henk 'm!

  • StevenK
  • Registratie: Februari 2001
  • Laatst online: 20-09 16:45
Dit stel je toch in php.ini in ?

[ Voor 84% gewijzigd door StevenK op 05-04-2005 16:00 ]

Was advocaat maar vindt het juridische nog steeds leuk


Acties:
  • 0 Henk 'm!

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 12:54
Op de meeste unixbakken wordt gebruik gemaakt van sendmail, een eigen mailserver. (Dat heb ik goed toch??). Voor Windows servers wordt er juist gebruik gemaakt van een externe mailserver, die je dus of in je script of in je php.ini moet gaan localiseren door middel van een ip/domein.

Wat je nu met ini_set() doet, kun je ook in je php.ini bestand toevoegen, aanpassen. Die passage kun je gewoon aanpassen. Met ini_set() wordt het alleen gebruikt op het moment dat het script wordt uitgevoerd.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
maar in php.in istel ik het toch in voor alles.

als ik bijvoorbeeld in zet

code:
1
smtp=mail.domeina.nl


in zet, dan gaat het goed voor www.domeina.nl

maar www.domeinb.nl zal dan fout gaan (toch?)

Acties:
  • 0 Henk 'm!

  • StevenK
  • Registratie: Februari 2001
  • Laatst online: 20-09 16:45
Verwijderd schreef op dinsdag 05 april 2005 @ 16:18:
maar in php.in istel ik het toch in voor alles.

als ik bijvoorbeeld in zet

code:
1
smtp=mail.domeina.nl


in zet, dan gaat het goed voor www.domeina.nl

maar www.domeinb.nl zal dan fout gaan (toch?)
Nee, want je smtp-server heeft geen ruk met je domein-naam te maken. SMTP (relay) authorisatie gaat op ip-adres, niet op domein-naam.

Was advocaat maar vindt het juridische nog steeds leuk