Gå til innhold

PHP mailscript med vedlegg, noen tips?


Anbefalte innlegg

Videoannonse
Annonse

Har en sak liggende jeg har brukt tidligere.

Mulig du får noe ut av det.

<?php
function send_mail($to, $attachment, $subject, $body)
{
   $from = "[email protected]";
   $attachment_name = 'filnavn';
   $attachment = chunk_split(base64_encode($attachment)); //Chunk it up and encode it as base64 so it can emailed
   $headers = "From: <$from>\n";
   $headers .= "Reply-To: <$to>\n";
   $headers .= "MIME-Version: 1.0\n";
   $headers .= "Content-Type: multipart/related; type=\"multipart/alternative\";boundary=\"----=MIME_BOUNDRY_main_message\"\n";
   $headers .= "X-Sender: $from<$from>\n";
   $headers .= "X-Mailer: PHP4\n";
   $headers .= "X-Priority: 3\n"; //1 = Urgent, 3 = Normal
   $headers .= "Return-Path: <$from>\n";
   $headers .= "This is a multi-part message in MIME format.\n";
   $headers .= "------=MIME_BOUNDRY_main_message \n";
   $headers .= "Content-Type: multipart/alternative; boundary=\"----=MIME_BOUNDRY_message_parts\"\n";
   $message = "------=MIME_BOUNDRY_message_parts\n";
   $message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
   $message .= "Content-Transfer-Encoding: quoted-printable\n";
   $message .= "\n";
   /* Add our message, in this case it's plain text.  You could also add HTML by changing the Content-Type to text/html */
   $message .= "$body\n";
   $message .= "\n";
   $message .= "------=MIME_BOUNDRY_message_parts--\n";
   $message .= "\n";
   $message .= "------=MIME_BOUNDRY_main_message\n";
   $message .= "Content-Type: application/octet-stream;\n\tname=\"" . $attachment_name . "\"\n";
   $message .= "Content-Transfer-Encoding: base64\n";
   $message .= "Content-Disposition: attachment;\n\tfilename=\"" . $attachment_name . "\"\n\n";
   $message .= $attachment; //The base64 encoded message
   $message .= "\n";
   $message .= "------=MIME_BOUNDRY_main_message--\n";
   if(@mail($to, $subject, $message, $headers))
   {
       return true;
   }
   else
   {
       return false;
   }
}
?>

Slik den er nå, så sender du ett vedlegg med teksten fra $attachment, som jeg har brukt til ett html-dokument.

Hvis du skal bruke det på noen annen måte, så blir det vel bare å eksperimentere litt.

Husker ikke helt hvor jeg fant det.

Har en sak liggende jeg har brukt tidligere.

Mulig du får noe ut av det.

Er det nok å endre $message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";

til

$message .= "Content-Type: text/html; charset=\"iso-8859-1\"\n"; for å kunne sende HTML-mail? Takk for scriptet forresten :)

 

EDIT: Så ikke kommentaren som beskrev dette

 

EDIT2: Måtte fjerne $message .= "Content-Transfer-Encoding: quoted-printable\n"; for at HTML-mail skulle fungere. Er det noen ulemper ved å fjerne det?

Endret av simenss

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...