php e-mail senden mit Anhang
Ich kann nicht scheinen, um herauszufinden, das problem mit dieser php-Funktion, die ich schrieb, sollten senden Sie eine e-mail mit attachment. Ich habe gekämpft, mit ihm für eine Weile.
function myMail($to, $subject, $mail_msg, $filename, $contentType){
$random_hash = md5(date('r', time()));
$headers = "From: [email protected]\r\nReply-To: ".$to;
$headers .= "\r\nContent-Type: ".$contentType.
"; boundary=\"PHP-mixed-".$random_hash."\"";
$attachment = chunk_split(base64_encode(file_get_contents($filename)));
ob_start();
echo "
--PHP-mixed-$random_hash
Content-Type: multipart/alternative; boundary=\"PHP-alt-$random_hash\"
--PHP-alt-$random_hash
Content-Type: text/plain; charset=\"utf-8\"
Content-Transfer-Encoding: 7bit
$mail_msg
--PHP-alt-$random_hash
--PHP-mixed-$random_hash--
Content-Type: text/plain; name=\"$filename\"
Content-Transfer-Encoding: base64
Content-Disposition: attachment
$attachment
--PHP-mixed-$random_hash--
";
$message = ob_get_clean();
$mail_sent = @mail( $to, $subject, $message, $headers );
return $mail_sent ? "Mail sent" : "Mail failed";
}
Bearbeiten Das problem ist, dass die Nachricht der E-mail, gemischt mit der Datei, und senden Sie als Anlage.
Sie sagen nicht, was nicht funktioniert.
Die gesamte Ausgabe, die überschriften enthalten (minus base64-codierte Datei)
Die gesamte Ausgabe, die überschriften enthalten (minus base64-codierte Datei)
InformationsquelleAutor Valentin Brasso | 2010-06-22
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hab gerade geschaut bei ein paar meiner E-Mails, und ich merke das die endgültige Befestigung Grenze endet mit '--', während die öffnung boundary marker nicht. In Ihrem code, müssen Sie:
Vielleicht soll es auch sein:
Haben Sie einen Blick auf das Beispiel hier:
http://en.wikipedia.org/wiki/MIME#Multipart_messages
Danke, aber vielleicht sind meine Bemühungen waren vergeblich. Trotz Ankunft bei der richtigen Lösung, es sieht aus, als wenn die gleiche Lösung kam bei selbständig 🙁
InformationsquelleAutor Mike
Artefacto machte mich auf die Ausgabe mit mehr Aufmerksamkeit und ich habe das Update:
InformationsquelleAutor Valentin Brasso
Es sei denn, Sie tun dies, um Informationen über die interne Funktionsweise von MIME-mails, die standard-Antwort ist die Verwendung eine mailer-Bibliothek wie PHPMailer oder Swiftmailer , kann im Umgang mit Anlagen aus der box.
SwiftMailer Beispiele auf, wie das Anhängen von Dateien sind hier.
InformationsquelleAutor Pekka 웃
Diese sind der Header, die ich verwenden und Sie haben immer funktioniert wie ein Charme.
http://asdlog.com/Create_form_to_send_email_with_attachment
InformationsquelleAutor bambino