/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
[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

> 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

> Du kan i hvert fald lave dette lille "trick"...



Hvis man ønsker at udeføre kode efter siden er blevet sendt til brugeren, er
den 'rigtige' måde at bruge register_shutdown_function()

http://www.php.net/manual/en/function.register-shutdown-function.php

/A



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



Søg
Reklame
Statistik
Spørgsmål : 177523
Tips : 31968
Nyheder : 719565
Indlæg : 6408675
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste