Re: sende mail fra PHP

From: Benny Simonsen (none@bsd-dk--slbs.dk.lh.bsd-dk.dk)
Date: Mon 29 May 2006 - 16:27:22 CEST


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&aring; 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