To: bsd-dk@bsd-dk.dk From: Benny Simonsen <none@bsd-dk--slbs.dk.lh.bsd-dk.dk> Date: 29 May 2006 16:27:22 +0200 Subject: Re: sende mail fra PHP
"Danjel Jungersen" <none@danjel--jungersen.dk.lh.bsd-dk.dk>
wrote on Mon, 29 May 2006 07:34:36 +0200:
> On 29 May 2006 at 7:03, René Pedersen wrote:
>
> > Danjel Jungersen skrev:
> > > Hej BSD'ere.
> > >
> > > Jeg har et site hvor jeg har en formular, som jeg gerne vil have
> > > skippet afsted pr. e-mail.
> > > Hvordan fikser jeg den ?
> > >
> >
> > Prøv med mail() funktionen http://www.php.net/manual/en/ref.mail.php
> Det ser ud til at koste en del mere arbejde, end med en simpel "form
> => submit" procedure, og det ser også ud til at jeg skal have sat
> sendmail op.
>
> Det giver sansynligvis også nogle fordele med større flexibilitet,
> men jeg vil gerne have en hurtig løsning, hvis der er en sådan :-)
> Så kan jeg altid få det "lidt smartere" til at virke senere.
>
> Jeg håber at det giver mening...
>
> mvh
> Danjel
>
> >
> > //René
>
>
>
Jeg ved ikke om det er den samme mail funktion vi har fat i, men
flg. kodestump bruger PHPMailer - og kan sættes op til både
"sendmail"- eller kompatibel eller smtp.
Husker ikke lige hvor jeg har fundet PHPMailer - men er en class som
du kan hente.
PS: Lav ikke den samme dummert som jeg:
- Sende bekræftigelse tilbage til den som udfylder formularen via SMTP
(for at min egen maskine ikke skal stå og sende spam med mine
form-data til tilfældige mailadr. som brugeere indtaster)
- Sende til dem der skal modtage beskeden via sendmail (default for
mig)
TDC kan nemlig godt uden varsel lukke for port 25 udgående :(
-> Brugere får bekræftigelse - men beskeden når aldrig frem - Grrr.
Nå men her er en kodestump som bruger SMTP.
require("path/to/phpmailer/phpmailer/class.phpmailer.php");
$mail = new PHPMailer();
$mail->From = $fields[$field_num[mail]][value];
$mail->FromName = $fields[$field_num[navn]][value];
$mail->AddAddress("x@x.x", "X Xsen");
//$mail->Host = "smtp.mail.dk"; $mail->Mailer = "smtp";
$mail->IsHTML(false); // don't send as HTML
$mail->Subject = "Tilmelding til kredslejr 2004";
$mail->Body = $body;
if(!$mail->Send()) {
$html .= "Der skete desværre en fejl, således at vi ikke kan modtage tilmeldingen pt.<br>";
$html .= "Vi vil gerne have denne oplysning, så hvis du vil sende en mail til os<br>".
" på adressen <none@a href=\"hostmaster--kredslejr.dk\".lh.bsd-dk.dk>hostmaster@kredslejr.dk</a> om dette vil det være fint.<br>";
$html .= "Mailer Error: " . $mail->ErrorInfo;
$html .= "\n\n\n";
}
-- Benny Simonsen
This archive was generated by hypermail 2b30 : Wed 15 Nov 2006 - 18:24:59 CET