php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 15-05-2009, 14:53
sypr000
 Registrierter Benutzer
Links : Onlinestatus : sypr000 ist offline
Registriert seit: May 2009
Beiträge: 12
sypr000 befindet sich auf einem aufstrebenden Ast
Standard Mail attachment

Hi,

habe ein kleines Problem.
Wollte Mail mit Attachement über ein php script verschicken. Leider werden mir die Header Informationen als normaler Body Text angezeigt genauso wie die Binärdaten des Attachments, wenn ich die Mail erhalte.
Sieht jemand meinen Fehler?:
PHP-Code:
[LEFT]public function sendAttachmentMail ($file){
// meine Abschnittsmarke definieren
$abschnittsmarke "<<<:".md5(uniqid(mt_rand(), 1));
// Die Datei ordentlich encodieren und Splitten
$data chunk_split(base64_encode (file_get_contents ($file)));
 
// HEader Definition
$header "From: ".$this->from." \r\n";
$header.= "To: ".$this->to." \r\n";
$header.= "MIME-Version: 1.0\r\n";
$header.= "Content-Type: multipart/mixed;\r\n";
$header.= "boundary=\"".$abschnittsmarke."\"\r\n";[/LEFT]
 
[
LEFT]// Body[/LEFT]
$body "This is a multi-part message in MIME format.\r\n\r\n";
$body .= "--".$abschnittsmarke."\r\n";
$body .= "Content-Type: text/html; charset=iso-8859-1\r\n";
$body .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
$body .= $this->text."\r\n";
$body .= "--".$abschnittsmarke."\r\n";
$body .= "Content-Disposition: attachement;\n\r";
$body .= "Content-Type: Application/Octet-Stream;
name=\"$file\"\r\n"
;
$body .= "$data\r\n";
$body .= "--".$abschnittsmarke."\r\n";
 
// Mailversand
 
if (mail ($this->to,$this->subject,$body$header))
return 
true;
return 
false;[/LEFT]

thx 4 help.

Geändert von sypr000 (15-05-2009 um 16:28 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 15-05-2009, 14:55
hhcm
 PHP Senior
Links : Onlinestatus : hhcm ist offline
Registriert seit: Jun 2005
Ort: Viersen, NRW
Beiträge: 1.833
hhcm ist zur Zeit noch ein unbeschriebenes Blatt
hhcm eine Nachricht über ICQ schicken hhcm eine Nachricht über Skype™ schicken
Standard

Wozu das Rad neu erfinden. Nutz doch einfach den phpmailer. Dann musst du nich frickeln.
__________________
gruss Chris

Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."
Mit Zitat antworten
  #3 (permalink)  
Alt 15-05-2009, 15:45
sypr000
 Registrierter Benutzer
Links : Onlinestatus : sypr000 ist offline
Registriert seit: May 2009
Beiträge: 12
sypr000 befindet sich auf einem aufstrebenden Ast
Standard

Es geht mir hier ja darum, die Materie zu verstehen. Und das klappt am besten wenn man es mal selbst versucht

Also du siehst spontan keinen Fehler?
Mit Zitat antworten
  #4 (permalink)  
Alt 15-05-2009, 16:05
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Zitat:
Aus dem Manual:
Note: If messages are not received, try using a LF (\n) only. Some poor quality Unix mail transfer agents replace LF by CRLF automatically (which leads to doubling CR if CRLF is used). This should be a last resort, as it does not comply with » RFC 2822.
Schon versucht?
Mit Zitat antworten
  #5 (permalink)  
Alt 15-05-2009, 16:06
hhcm
 PHP Senior
Links : Onlinestatus : hhcm ist offline
Registriert seit: Jun 2005
Ort: Viersen, NRW
Beiträge: 1.833
hhcm ist zur Zeit noch ein unbeschriebenes Blatt
hhcm eine Nachricht über ICQ schicken hhcm eine Nachricht über Skype™ schicken
Standard

Setz boundary mal hinter den Content-Type
Bevor du die Daten ausgibst, solltest du noch

Content-Transfer-Encoding: base64

und

Content-Description:

setzen.
__________________
gruss Chris

Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."
Mit Zitat antworten
  #6 (permalink)  
Alt 15-05-2009, 16:08
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Testweise würde ich es erstmal ganz ohne Attachments probieren, also kein Multipart sondern plain text. Dann Stück für Stück aufbauen.
Mit Zitat antworten
  #7 (permalink)  
Alt 15-05-2009, 16:11
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von sypr000 Beitrag anzeigen
Leider werden mir die Header Informationen als normaler Body Text angezeigt
Alle - oder ab einem bestimmten?

Das erste auftreten eines doppelten \r\n beendet den Header - also da ggf. irgendwas falsch?

PHP-Code:
$body .= "Content-Disposition: attachement;\n\r";
$body .= "Content-Type: Application/Octet-Stream;
name=\"$file\"\r\n"

Also da ist der Zeilenumbruch hinter der ersten Zeile zumindest mal falsch.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #8 (permalink)  
Alt 15-05-2009, 16:26
sypr000
 Registrierter Benutzer
Links : Onlinestatus : sypr000 ist offline
Registriert seit: May 2009
Beiträge: 12
sypr000 befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
 
 
This is a multi
-part message in MIME format.
--<<<:
ee43a5f8ad82d0956972588d92969ee7
Content
-Typetext/htmlcharset=iso-8859-1
Content
-Transfer-Encoding7bit
BLABLALBA
hier ist mein TEXT
 
LALALALA
 
--<<<:ee43a5f8ad82d0956972588d92969ee7
Content
-Dispositionattachement;
Content-TypeApplication/Octet-Stream;
name="./../praktikant/196e24b93ebdbd0f0de7df1f12abd820.doc"
Content-Transfer-Encodingbase64
0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7
/CQAGAAAAAAAAAAAAAAABAAAANgAAAAAAAAAA
EAAAOAAAAAEAAAD
+////AAAAADUAAAD/////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
/////////////////////////AAAAADUAAAD///////////////////////////////////////////////////
//////////////////////////////////////////////CQAGAAAAAAAAAAAAAAABAAAANgAAAAAAAAAA//////////
/////////////EAAAOAAAAAEAAAD/////////////////////////////CQAGAAAAAAAAAAAAAAABAAAANgAAAA
////////////////////////////////////////////////////////////////////////////////////////////////
////////////AAACQAGAAAAAAAAAAAAAAABAAAANgAAAAAAAAAAAADUAAAD////////////////////////////
pcEABUAJBAAA+BK/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAAAAEAEAAAAAAAAQAQAAEAE
AAAAAAAAQAQAAAAAAABABAAAAAAAAEAEAAAAAAAAQAQAABQAAAAAAAAAAAAAAFQEAAAAAAAAGAsA
AAAAAAAYCwAAAAAAABgLAAA4AAAAUAsAACwAAAB8CwAALAAAAFQEAAAAAAAAaBEAACoBAAC0CwAA
FgAAAMoLAAAAAAAAy
//////////////////////////AAAAAAAAAAAAAAAIgAAAAAAAAAAAAAAAAAIgAAAA
gsAAAAAAA////DKCwAAAAAA////AMoLAAAAAAAAYQ0AAAAAAABhDQAAAAAAAGENAAAA
AAAA5xAAAAIAAADpEAAQAAAAGENAAAAAAAAYQ0AAAAAAABhDQAAAAAAAA0RAAAAAAAA 
Das ist das was ich als Plain text erhalte, Bin gerade dabei die Anregungen auszuprobieren. Danke


... ich versteh nicht wie man damit etwas anfangen könnte?
das ist nur ein schnipsel der 100kb die versendet wurden

Geändert von sypr000 (15-05-2009 um 18:52 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 15-05-2009, 16:55
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Ist das das gesamte Dokument? Dir ist klar, dass man das rauskopieren und dekodieren könnte? Ich hoffe, es sind keine vertraulichen Informationen! Ansonsten bearbeite deinen letzten Beitrag und nimm es raus.
Mit Zitat antworten
  #10 (permalink)  
Alt 15-05-2009, 18:53
sypr000
 Registrierter Benutzer
Links : Onlinestatus : sypr000 ist offline
Registriert seit: May 2009
Beiträge: 12
sypr000 befindet sich auf einem aufstrebenden Ast
Standard

nein das ist nicht das gesamte Dokument, aber das man ein base64 encodiertes dokument wieder entschlüsseln kann ist mir wohl klar
Mit Zitat antworten
  #11 (permalink)  
Alt 15-05-2009, 19:17
sypr000
 Registrierter Benutzer
Links : Onlinestatus : sypr000 ist offline
Registriert seit: May 2009
Beiträge: 12
sypr000 befindet sich auf einem aufstrebenden Ast
Standard

also ich komme der Sache schon etwas näher:

X-Amavis-Alert: BAD HEADER MIME error: error: multipart boundary is missing, or contains CR or LF
Mit Zitat antworten
  #12 (permalink)  
Alt 15-05-2009, 19:21
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von sypr000 Beitrag anzeigen
X-Amavis-Alert: BAD HEADER MIME error: error: multipart boundary is missing, or contains CR or LF
Na ja, du hast ja auch bereits Text vor dem ersten Auftauchen der boundary stehen:
Code:
 
This is a multi-part message in MIME format.
--<<<:ee43a5f8ad82d0956972588d92969ee7
Content-Type: text/html; charset=iso-8859-1
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #13 (permalink)  
Alt 15-05-2009, 19:26
sypr000
 Registrierter Benutzer
Links : Onlinestatus : sypr000 ist offline
Registriert seit: May 2009
Beiträge: 12
sypr000 befindet sich auf einem aufstrebenden Ast
Standard

Selbst wenn ich das weg mache krieg ich noch im Header:
MIME-Version: 1.0
boundary="<<<:44fdc6e9cddd3e5483a1b0aa7901b6d3"

d.h. es fehlt wieder content type multipart, obwohl ichs ja eigentlich an mail () übergebe ....
PHP-Code:
$header"MIME-Version: 1.0\n";
$header.= "Content-Type: multipart/mixed;\n";
$header.= "boundary=\"".$abschnittsmarke."\"\n"
hmmm ich weiß auchnich weiter :/
Mit Zitat antworten
  #14 (permalink)  
Alt 15-05-2009, 19:32
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Wo sind denn jetzt in dem Code die \r geblieben?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #15 (permalink)  
Alt 15-05-2009, 19:34
sypr000
 Registrierter Benutzer
Links : Onlinestatus : sypr000 ist offline
Registriert seit: May 2009
Beiträge: 12
sypr000 befindet sich auf einem aufstrebenden Ast
Standard

nachdem es mit nich funktioniert hat, hab ich sie halt mal raus gemacht .
kannst du mir ansatz punkte geben wo ich noch gucken könnte, oder was ich posten soll, damit mir geholfen werden könnte? besten dank
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
mail() + Attachment ToXIcS PHP Developer Forum 15 02-06-2005 17:11
mail attachment stefan2 Fragen zu Installation & Konfiguration (LAMP, WAMP & Co.) 12 25-04-2005 08:20
problem mit pdf attachment mail() frank7l7 PHP Developer Forum 13 23-10-2003 22:59
mail + attachment Reinhard PHP Developer Forum 1 12-07-2001 14:26
Attachment mit mail() .... Kaffi PHP Developer Forum 20 10-04-2001 23:38

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:06 Uhr.