|
| [PHP] Mail funktion Fra : Morten Winther |
Dato : 23-04-01 22:20 |
|
Jeg har et system der sender en mail til en person hvis han har fået tildelt
en opgave.
Til tider er det dog ligesom at siden hænger fordi mailen skal sendes og jeg
vil derfor høre om man kan sende mailen i baggrunden så siden ikke venter på
at mailen bliver sendt.
Kan man evt kalde sendmail direkte hvis php ikke understøtter dette?
/ morten
| |
Jonas Koch Bentzen (23-04-2001)
| Kommentar Fra : Jonas Koch Bentzen |
Dato : 23-04-01 22:24 |
|
Morten Winther skrev:
> Jeg har et system der sender en mail til en person hvis han har fået
> tildelt en opgave.
>
> Til tider er det dog ligesom at siden hænger fordi mailen skal sendes
Det lyder usandsynligt efter min mening. PHP afleverer bare brevet til
SMTP-serveren, hvis opgave det så er at sende brevet til rette modtager.
> og jeg vil derfor høre om man kan sende mailen i baggrunden så siden
> ikke venter på at mailen bliver sendt.
> Kan man evt kalde sendmail direkte hvis php ikke understøtter dette?
Ja - telnet til localhost 25 - men jeg tror nu ikke, det er hurtigere.
Hvis scriptet hænger alene pga. afsendelsen, så kan det vel evt.
skyldes (selv om jeg ikke tror det), at SMTP-serveren er vanvittig lang
tid om at svare - og i så fald gør det det ikke bedre, at man forbinder
direkte til den i stedet for at bruge PHPs mail()-funktion.
--
Venlig hilsen
Jonas Koch Bentzen
| |
Jonas Koch Bentzen (23-04-2001)
| Kommentar Fra : Jonas Koch Bentzen |
Dato : 23-04-01 22:32 |
|
Jonas Koch Bentzen skrev:
>> Kan man evt kalde sendmail direkte hvis php ikke understøtter dette?
>
> Ja - telnet til localhost 25
Jeg mener selvfølgelig "forbind til localhost port 25 vha. fsockopen".
--
Venlig hilsen
Jonas Koch Bentzen
| |
Niels Andersen (24-04-2001)
| Kommentar Fra : Niels Andersen |
Dato : 24-04-01 06:22 |
|
"Morten Winther" <mw@get2net.dk> skrev i en meddelelse
news:9c2660$35g$1@news.inet.tele.dk...
> Til tider er det dog ligesom at siden hænger fordi mailen skal sendes og
jeg
> vil derfor høre om man kan sende mailen i baggrunden så siden ikke venter
på
> at mailen bliver sendt.
Du kan i hvert fald lave dette lille "trick"...
Vent med at sende mailen til aller-sidst. Lige før det, så "flusher" du. Så
er al html'en sendt afsted, og siden er fremme, når der ventes på at få
sendt en mail. Fx:
[...]
</body>
</html>
<?
flush(); //sikrer at al ovenstående sendes afsted
mail (...);
?>
Men du leger med det kan du skrive "sleep(10);" (så vidt jeg husker) i
stedet for mail-funtionen.
Mvh.
Niels Andersen
| |
Anders Johannsen (24-04-2001)
| Kommentar Fra : Anders Johannsen |
Dato : 24-04-01 08:53 |
| | |
Anders Johannsen (24-04-2001)
| Kommentar Fra : Anders Johannsen |
Dato : 24-04-01 08:56 |
|
> Kan man evt kalde sendmail direkte hvis php ikke understøtter dette?
Det er næppe nødvendigt, da mail() fungerer ved at PHP åbner en pipe til
sendmail, som din mail bliver overgivet til.
/A
| |
|
|