php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.10.2010, 13:15  
Neuer Benutzer
 
Registriert seit: 05.08.2009
Beiträge: 14
PHP-Kenntnisse:
Fortgeschritten
Somba befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Direktverbindung mit SMTP Server Anhang versenden?

Hallo,

wie übergeb ich mit PHP einen Emailanhang an den SMTP Server?

So bereite ich die Datei vor:

PHP-Code:
....
$anhang["name"] = basename($pfad);
$anhang["size"] = filesize($pfad);
$anhang["data"] = implode("",file($pfad));

$data chunk_split(base64_encode($anhang["data"]));
$anhang_senden "--".$mime_boundary."\r\n";
$anhang_senden.= "Content-Disposition: attachment;\r\n";
$anhang_senden.= "\tfilename=\"".$anhang['name']."\";\r\n";
$anhang_senden.= "Content-Length: .".$dat['size'].";\r\n";
$anhang_senden.= "Content-Type: ".$anhang['type']."; name=\"".$anhang['name']."\"\r\n";
$anhang_senden.= "Content-Transfer-Encoding: base64\r\n\r\n";
$anhang_senden.= $data."\r\n"
..... 
hier übergebe ich die Datei den SMTP Server:

PHP-Code:
....
 
$verbindung = @fsockopen($smtp_server 25); 
.....
fputs($verbindung,"$inhalt \r\n");
fputs($verbindung$anhang_senden); /* Anhang anhängen */ 
.... 
Ich erhalte dann eine Email die soweit in Ordnung ist auser
das der Anhang in der Email steht:

Code:
 
Test Email!

--
Content-Disposition: attachment;
	filename="noc_portal_kalender.ics";
Content-Length: .;
Content-Type: ; name="noc_portal_kalender.ics"
Content-Transfer-Encoding: base64

QkVHSU46VkNBTEVOREFSDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkVSU0lP
TjoyLjANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9ESUQ6Tk9DIFBvcnRh
bA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9SRzpEZWNpbXVzIEdtYkgNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVUkw6aHR0cHM6Ly9ub2MucHJpbWFjb20u
bmV0Lw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhPRDpSRVFVRVNUDQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkVHSU46VkVWRU5UDQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgVUlEOmdlcGxhbnRlX2FyYmVpdGVuX25vY19wb3J0YWxf
MTcyOA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9SR0FOSVpFUjtDTj0iQ2Vu
dHJhbCBTeXN0ZW1zIjpNQUlMVE86bm9jQGRlY2ltdXMudHYNCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBMT0NBVElPTjpTdGFkdC9PcnQ6INxiZXJoZXJybiAKDQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgU1VNTUFSWTpnZXBsYW50ZSBBcmJlaXRlbiBLYXJ0ZW5u
dW1tZXI6IDE3MjggLSBCZXRyb2ZmZW5lIFNlcnZpY2U6IGFsbGUgU2VydmljZSAtIFdpY2h0aWdr
ZWl0OiBOb3JtYWwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBERVNDUklQVElP
TjoKICAgICBOT0MgUG9ydGFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIERlY2ltdXMgIAoKCiAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Vw
bGFudGUgQXJiZWl0ZW4gS2FydGVubnVtbWVyOiAxNzI4IAoKU3RhZHQvT3J0OiDcYmVyaGVycm4g
CkFydCBkZXMgYXVzZmFsbGVzOiBTdHJvbWFic2NoYWx0dW5nIApCZXRyb2ZmZW5lIFNlcnZpY2U6
IGFsbGUgU2VydmljZSAKVmVyYW50d29ydGxpY2hlcjogCiAgIFZvcm5hbWU6IHRlc3QgCiAgIE5h
Y2huYW1lOiB0ZXN0IAogICBUZWxlZm9uOiB0ZXN0IApCZW1lcmt1bmc6ICB0ZXN0IApaZWl0cmF1
bTogICBEYXR1bTogMTE6NTMgIDE0LjEwLjIwMTAgICAgLSAgICBFbmRlOiAxODoxOCAgICAgMTQu
MTAuMjAxMCAKICAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNaXQgZnJldW5kbGlj
aGVuIEdy/N9lbiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOT0MgRGVjaW11cyAgTWVp
a28gRWljaGxlciAKCk1laWtvIEVpY2hsZXIgCk5PQyBPcGVyYXRvciAKQ2VudHJhbCBTeXN0ZW1z
IAoKVGVsZWZheDogKzQ5IDM0MSA2MDk1MjQ3NCAKRS1NYWlsOiBub2NAZGVjaW11cy50diAKd3d3
LnByaW1hY29tLmRlIAoKRWluIFVudGVybmVobWVuIGRlciBQcmltYUNvbSBHcnVwcGUgCkRlY2lt
dXMgR21iSCAKTWVzc2VhbGxlZSAyIAowNDM1NiBMZWlwemlnIApTaXR6IE1haW56LCBBbXRzZ2Vy
aWNodCBNYWlueiBIUiBCIDc4MDQgIApHZXNjaORmdHNm/GhyZXI6IE1pY2hhZWwgRG9ybiwgVGhv
bWFzIEVpYmVjaywgRHIuSGFucyBQZXRlciBMZXViZSAKCkRlciBJbmhhbHQgZGllc2VyIEUtTWFp
bCBpc3QgdmVydHJhdWxpY2guCkZhbGxzIFNpZSBuaWNodCBkZXIgYW5nZWdlYmVuZSBFbXBm5G5n
ZXIgc2luZCBvZGVyIGZhbGxzIGRpZXNlIEUtTWFpbCBpcnJ0/G1saWNoIGFuIFNpZSBhZHJlc3Np
ZXJ0IHd1cmRlLCB2ZXJzdORuZGlnZW4gU2llIGJpdHRlIGRlbiBBYnNlbmRlciBzb2ZvcnQgdW5k
IGz2c2NoZW4gU2llIGRpZSBFLU1haWwgc29kYW5uLgpEYXMgdW5lcmxhdWJ0ZSBLb3BpZXJlbiBz
b3dpZSBkaWUgdW5iZWZ1Z3RlINxiZXJtaXR0bHVuZyBzaW5kIG5pY2h0IGdlc3RhdHRldC4gRGll
IFNpY2hlcmhlaXQgdm9uINxiZXJtaXR0bHVuZ2VuIHBlciBFLU1haWwga2FubiBuaWNodCBnYXJh
bnRpZXJ0IHdlcmRlbi4KRmFsbHMgU2llIGVpbmUgQmVzdOR0aWd1bmcgd/xuc2NoZW4sIGZvcmRl
cm4gU2llIGJpdHRlIGRlbiBJbmhhbHQgZGVyIEUtTWFpbCBhbHMgSGFyZGNvcHkgYW4uCgpUaGUg
Y29udGVudHMgb2YgdGhpcyBlLW1haWwgYXJlIGNvbmZpZGVudGlhbC4gCklmIHlvdSBhcmUgbm90
IHRoZSBuYW1lZCBhZGRyZXNzZWUgb3IgaWYgdGhpcyB0cmFuc21pc3Npb24gaGFzIGJlZW4gYWRk
cmVzc2VkIHRvIHlvdSBpbiBlcnJvciwgcGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVyIGltbWVkaWF0
ZWx5IGFuZCB0aGVuIGRlbGV0ZSB0aGlzIGUtbWFpbC4KQW55IHVuYXV0aG9yaXplZCBjb3B5aW5n
IGFuZCB0cmFuc21pc3Npb24gaXMgZm9yYmlkZGVuLgpFLU1haWwgdHJhbnNtaXNzaW9uIGNhbm5v
dCBiZSBndWFyYW50ZWVkIHRvIGJlIHNlY3VyZS4gSWYgdmVyaWZpY2F0aW9uIGlzIHJlcXVpcmVk
LCBwbGVhc2UgcmVxdWVzdCBhIGhhcmQgY29weSB2ZXJzaW9uLgoKDQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTE9DQVRJT047TEFOR1VBR0U9ZW46R2VybWFueQ0KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIERUU1RBUlQ6MjAxMDEwMTRUMTE1MzAwDQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgRFRFTkQ6MjAxMDEwMTRUMTgxODAwDQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgRFRTVEFNUDoyMDEwMTAxNFQxMjM3MDENCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDTEFTUzpQVUJMSUMNCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBDQVRFR09SSUVTOkJVU0lORVNTLFBST0pFQ1QNCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBUUkFOU1A6T1BBUVVFDQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgRU5EOlZFVkVOVA0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEVORDpWQ0FMRU5EQVI=

Gruß Meiko
Somba ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.10.2010, 13:16  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Warum benutzt du denn keine Mail-Klasse wie phpMailer?

EDIT: und dein $mime_boundary scheint leer zu sein und ich glaube das muss am Ende der Datei auch nochmal eingefügt werden
cycap ist offline   Mit Zitat antworten
Alt 14.10.2010, 13:19  
Neuer Benutzer
 
Registriert seit: 05.08.2009
Beiträge: 14
PHP-Kenntnisse:
Fortgeschritten
Somba befindet sich auf einem aufstrebenden Ast
Standard

So kann ich alles Besser kontrollieren.
Ich erhalte auch mehr Informationen was gerade geschieht.
Somba ist offline   Mit Zitat antworten
Alt 14.10.2010, 13:21  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Dann sollte dir aber auch klar sein was passiert wenn du zwischendurch einfach mal $dat statt $anhang verwendest (siehe Content-Length)
cycap ist offline   Mit Zitat antworten
Alt 14.10.2010, 13:42  
Neuer Benutzer
 
Registriert seit: 05.08.2009
Beiträge: 14
PHP-Kenntnisse:
Fortgeschritten
Somba befindet sich auf einem aufstrebenden Ast
Standard

//.. einfach mal $dat statt $anhang

aha so passiert es wenn man noch was anderes macht

stimmt daran wird es liegen ( $mime_boundary )

PHP-Code:
$mime_boundary "<<<:" md5(uniqid(mt_rand(), 1)); 
Irgendwo muss es noch rein am Ende stimmt, aber das langt nicht.
Werd am WE weiter machen habe jetzt Feierabend

Gruß Meiko
Somba ist offline   Mit Zitat antworten
Alt 16.10.2010, 16:19  
Neuer Benutzer
 
Registriert seit: 05.08.2009
Beiträge: 14
PHP-Kenntnisse:
Fortgeschritten
Somba befindet sich auf einem aufstrebenden Ast
Standard

Hi,

habe das Problem gelößt,

es lag an Boundary ( -- ) der Aufbau muss so sein:

--ID

Normaler Text

--ID

Datei

--ID--
Ende

Dann passt es


Gruß Meiko
Somba ist offline   Mit Zitat antworten
Alt 16.10.2010, 16:32  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Nein. Es lag an mail(). Und es liegt immer noch an mail().
Wieso man mit der schlechteren Lösung eine bessere Kontrolle hat als mit der besseren, das soll man mal verstehen...

Morgen machst du dann einen Thread auf um zu fragen, warum deine Mails nicht ankommen bzw. im Spampostfach landen?
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline   Mit Zitat antworten
Alt 16.10.2010, 16:58  
Neuer Benutzer
 
Registriert seit: 05.08.2009
Beiträge: 14
PHP-Kenntnisse:
Fortgeschritten
Somba befindet sich auf einem aufstrebenden Ast
Standard

nö nicht wirklich

mail() nutze ich nicht ich bevorzuge den Direkten weg.

Mein Programm funst schon seit Jahren.

Hab es jetzt für ics umgeschrieben.

Geht auch alles wieder bis auf die Formatierung die Verloren geht
im ersten Block wenn ich HTML dort Übermittle.

Der Aufbau ist so:

PHP-Code:
Content-Typemultipart/mixedboundary="--ID\"

--ID // Erster Block
   Content-Type: text/html; 

--ID // zweiter Block

  Content-Type: text/calendar;

--ID-- 
Wenn ich einen anderen Content-Type nehme im zweiten Block zb "ics" wird alles wieder super angezeigt nehme ich aber den Vorgeschriebenen zerhackt
es meinen HTML Ausrichtungen es wird alles kleiner.

Hast du da eine Lösung?

gruß
Somba ist offline   Mit Zitat antworten
Alt 16.10.2010, 17:05  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Als boundary verwendet man idR. eine lange, möglichst zufällige Zeichenkombination - schließlich darf diese nicht innerhalb des Inhaltes auftauchen, sonst gibt's Probleme.

Dass du mit "--ID" genügend darauf geachtet hast, dass dieser Wert im Inhalt nicht vorkommt, nimmst du doch wohl nicht mal selber ernsthaft an ...?
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 16.10.2010, 17:20  
Neuer Benutzer
 
Registriert seit: 05.08.2009
Beiträge: 14
PHP-Kenntnisse:
Fortgeschritten
Somba befindet sich auf einem aufstrebenden Ast
Standard

ich hab doch nur hier ID hingeschrieben wollte jetzt nicht unbedingt die Kilometer Nummer hinschreiben.
Somba ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] SMTP -&gt; ERROR: Failed to connect to server: Connection refused (111) Broox PHP Tipps 2010 21 11.09.2010 18:54
Connection zu MSSQL Server 2008 DonBolli Datenbanken 2 11.04.2009 16:57
[Erledigt] Apache install geht nicht SteiniKeule Server, Hosting und Workstations 7 27.02.2009 08:40
HOWTO: ICQ Narichten versenden mit php (Benötigt root Zugang zu Linux Server) Deltachaos Tutorials 4 02.02.2009 19:32
[Erledigt] Mails versenden über smtpmail von T-Online -&gt; Problem mit Athentifizierung robat Server, Hosting und Workstations 12 05.01.2009 19:31
[Erledigt] PHP Emails versenden von anderem Server aceras PHP Tipps 2008 8 13.11.2008 13:05
Wireshark SSL Handshake debugging-Handshake protokoll mittels PHP + Curl brian johnson Off-Topic Diskussionen 0 06.11.2008 11:54
Frage zu Windows Server 2003 b++ Off-Topic Diskussionen 1 03.03.2006 09:41
Email senden mit Anhang aus URL ??? c-bass PHP-Fortgeschrittene 10 14.02.2006 19:47
[Erledigt] verschiedene Versionen auf einem W2K3 Server betreiben PHP Tipps 2006 2 13.01.2006 17:39
mail von lokalem Server an SMTP im Netz -after_pop- Problem PHP-Fortgeschrittene 7 12.08.2005 14:40
[erledigt] Mail per PHP versenden über fremden SMTP SolcoDerman PHP Tipps 2005-2 2 11.07.2005 12:08
mail() versucht die Mails als wwwrun an den SMTP Server zu l Server, Hosting und Workstations 3 15.06.2005 11:25
pdf erzeugen und als anhang versenden PHP Tipps 2004 14 18.08.2004 17:42
E-Mail mit Anhang versenden woods PHP Tipps 2004 5 11.08.2004 13:53

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
smtp anhang, smtp attachment versenden, php smtp anhang senden, smtp mit anhang, content-type: text/calendar, php ics als anhang versenden, smtp server attachment, ics anhang php versenden, php curl smtp, email mit php senden smtp, smtp verbindung php, email mit php über smtp-server, smtp content-type, bericht siehe im anhang……….., content type smtp, ics-datei anhang php email generieren, fsockopen anhang versenden, fsockopen smtp mit anhang, smtp aufbau wie anhang anhang, email smtp aufbau attachment

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:36 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum