Hej. Jeg har et PHP script, som sender en email til mig, når nogen indtaster oplysninger i en formular på hjemmesiden. Det virker fint, men jeg vil gerne udvide scriptet, så jeg kan sende en email med et attachment fra serveren. Det er nemt nok at finde scripts, der sender attachments, men mange af disse scripts går ud fra, at det- er en bruger, der skal oploade en fil fra brugerens computer til serveren. Det skal gå den anden vej: Fra serveren sendes en email med et attachment, som ligger i en fast mappe på serveren. Er der nogen her, der har et simpelt script-eksempel på dette? |
Hej Poul
Poul Madsen:Er der nogen her, der har et simpelt script-eksempel på dette?
Jeg har lige skrevet dette simple php script, som burde kunne sende en e-mail med en vedhæftet fil (jeg har ikke testet om det virker, men mon ikke).
Husk det kun er et eksempel, som der nok skal gøres lidt mere ud ad hvis det skal bruges i produktion.
$to = 'modtager@domain.dk';$subject = 'Test mail';
$random_hash = md5(date('r', time()));
$headers = "From: afsender@domain.dk\r\nReply-To: afsender@domain.dk\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\"";
$attachment = chunk_split(base64_encode(file_get_contents('/sti/til/din/tekstfil.txt')));
$message = "--PHP-mixed-$random_hash
Content-Type: multipart/alternative; boundary=\"PHP-alt-$random_hash\"
--PHP-alt-$random_hash
Content-Type: text/plain; charset=\"iso-8859-1\"
Content-Transfer-Encoding: 7bit
Test mail
--PHP-alt-$random_hash
Content-Type: text/html; charset=\"iso-8859-1\"
Content-Transfer-Encoding: 7bit
<h2>Test mail</h2>
<p>html versionen</p>
--PHP-alt-$random_hash--
--PHP-mixed-$random_hash
Content-Type: text/plain; name=\"tekstfil.txt\"
Content-Transfer-Encoding: base64
Content-Disposition: attachment
$attachment;
--PHP-mixed-$random_hash--
";
mail($to, $subject, $message, $headers);