Mail med PHP

Tags:    php

Hej

Jeg har en side, hvor jeg sender en bekræftelsesmail til brugeren i HTML-format. Jeg benytter PHP's indbyggede mail()-funktion. Problemet er bare, at det ikke virker ret godt - For det meste virker det, men nogle gange går det simpelthen ned. Scriptet time out'er efter de der 30 sek, der er standard.

Derfor kunne jeg godt tænke mig at sende mail'en på anden vis (PEAR, PHPMailer el. lign.), hvilket PHP-dokumentationen da også foreslår, hvis man vil sende HTML. Jeg benytter One.com som host, og de har som standard ikke PEAR installeret, hvilket giver mig et problem. Har forsøgt at rode med det, men kan ikke få det til at virke.

Hvis nu det bare er en simpel kodefejl som nogen kan spotte, er min kode her:

Fold kodeboks ind/udPHP kode 


Mit spørgsmål er så: Er der nogen, der kan guide mig igennem en anden form for afsending af mail end den PHP normalt bruger?



Indlæg senest redigeret d. 15.06.2008 13:03 af Bruger #10572
3 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Drop one.com ;) eller benyt en ekstern udbyder af formmail-services

Jeg mener PHPmailer kræver en ekstern SMTP men siden dit script timer out må det være fejl i din script eller one.com setup.





PHPMailer kan konfigureres til PHPs interne mail() eller SMTP. Hvis man vil bruge SMTP, er det eneste der skal angives, en korrekt SMTP server. Dette kan være smtp.mail.dk som er TDCs mail server (kræver vist nok konto hos tdc).

PEAR kan installeres manuelt din wwwroot uden de store problemer. Det kræver dog at man henter hele PEAR grundpakken.

Kan ikke se at der skulle være fejl i koden. Men to eller flere kald til mail funktionen i samme skript vil afkaste et timeout.

der ud over kan man bruge set_time_limit(0) for at fjerne timeout.

Sidst men ikke mindst, har du checket at dit script ikke kører i uendelige loops eller sender mails med forkert modtager, headers eller indhold.




Indlæg senest redigeret d. 15.06.2008 20:10 af Bruger #10216
Tak for svaret Gnu.

Jeg fandt ud af hvordan man satte SMTP op rigtigt. Jeg var kommet til at benytte en forkert SMTP-adresse hos One.



t