PHP email přílohy
Tady jsem našel
<?php
// Recipient
$to = 'xxxxx@seznam.cz';
// Sender
$from = 'xxxxx@seznam.cz';
$fromName = 'CodexWorld';
// Email subject
$subject = 'PHP Email with Attachment by CodexWorld';
// Attachment file
$file = "/xxxxx/xxxx_1.jpg";
// Email body content
$htmlContent = '
<h3>PHP Email with Attachment by CodexWorld</h3>
<p>This email is sent from the PHP script with attachment.</p>
';
// Header for sender info
$headers = "From: $fromName"." <".$from.">";
// Boundary
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
// Headers for attachment
$headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\"";
// Multipart boundary
$message = "--{$mime_boundary}\n" . "Content-Type: text/html; charset=\"UTF-8\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" . $htmlContent . "\n\n";
// Preparing attachment
if(!empty($file) > 0){
if(is_file($file)){
$message .= "--{$mime_boundary}\n";
$fp = @fopen($file,"rb");
$data = @fread($fp,filesize($file));
@fclose($fp);
$data = chunk_split(base64_encode($data));
$message .= "Content-Type: application/octet-stream; name=\"".basename($file)."\"\n" .
"Content-Description: ".basename($file)."\n" .
"Content-Disposition: attachment;\n" . " filename=\"".basename($file)."\"; size=".filesize($file).";\n" .
"Content-Transfer-Encoding: base64\n\n" . $data . "\n\n";
}
}
$message .= "--{$mime_boundary}--";
$returnpath = "-f" . $from;
// Send email
$mail = @mail($to, $subject, $message, $headers, $returnpath);
// Email sending status
echo $mail?"<h1>Email Sent Successfully!</h1>":"<h1>Email sending failed.</h1>";
?>
napíše mi to Email Sent Successfully!
do emailu to přijde toto
PHP Email with Attachment by CodexWorld
This email is sent from the PHP script with attachment.
ale soubor ne proč? jsem uvažoval že cesta k tomu souboru je špatná ale kdyby byla špatná tak při provádění skriptu se vypíše chyba díky
Ak bude is_file($file) false, tak sa žiadna chyba nevypíše. A je to v poriadku. Od toho tam to testovanie je. Tie zavináče pri fopen nekomentujem.
p.s. na posielanie mailov z php existuje vynikajúca knižnica phpmailer.
přece byla chybná cesta k tomu souboru už to funguje
že by odtud pramenilo nějaké nebezpečí spamy a tak ? já si to nechávám posílat do emailu pro tyto účely díky
Mě podáš prst a já vezmu celou šel by ten skript upravit aby přenesl více souborů najednou ? díky
Šlo. Prostě tu část s přidáváním souboru několikrát zopakuješ.
... a ideálně rovnou přidat kontrolu, jaká je celková velikost příloh, aby se pak někdo nedivil, proč se mail neodešle...
Bohužel nevím jak
tady něco
jaký je rozdíl mezi @fopen a fopen ?
toto vím to načte soubor do proměnné data dál nevím díky
S tím zavináčem to nevypíše chybu, pokud by nějaká nastala.
Co nevíš? Posílat víc příloh?
Example (v příloze dva jpg, změň Content-Type pokud tam nebude jpg)