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 10-09-2003, 19:59
YellowSky
 Newbie
Links : Onlinestatus : YellowSky ist offline
Registriert seit: Sep 2003
Beiträge: 8
YellowSky ist zur Zeit noch ein unbeschriebenes Blatt
Lightbulb Bilder in html-mails

hallo zusammen,

ich hab mir heut mithilfe eures forums eine klasse geschrieben, die html- oder text-mails mit und ohne attachment als multipart-messages versendet. eure scripts und beiträge dazu waren sehr hilfreich :)

es gibt nur eine sache, die ich nicht hinbekommen habe und bei der mir die suche im forum auch keine hilfreichen beiträge liefern konnte.

wenn ich eine html-email versende (bah, sowas macht man nicht, aber mancher kunde wills haben), und in dieser email bilder verwende (z.b. ein logo), wieso taucht das logo dann nicht in der mail auf, obwohl es mit gleichem namen attached wurde?

beispiel: <html><body><img src="logo.jpg"> firmenname</body></html>
an der email hängt die datei logo.jpg an ... wird auch richtig angezeigt, wenn ich die datei öffne. trotzdem wird es mir in der html-ansicht (outlook) nicht angezeigt :(

muss ich bei den pfaden irgendetwas beachten oder bin ich komplett auf dem falschen dampfer. klar könnte ich auch einen externen link auf das imageverzeichnis der domain des kunden benutzen, aber sowas ist ja noch furchtbarer, als html-mails selbst


hat jemand nen tip für mich?


vielen dank vorab
YellowSky
Mit Zitat antworten
  #2 (permalink)  
Alt 10-09-2003, 20:36
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

du musst das logo als cid im quelltext angeben.

vergleich mal die quelltexte deine newsletter datei und zumbeispiel einer outlookdatei.

OffTopic:
Nix gegen HTML-Mails
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3 (permalink)  
Alt 10-09-2003, 20:51
YellowSky
 Newbie
Links : Onlinestatus : YellowSky ist offline
Registriert seit: Sep 2003
Beiträge: 8
YellowSky ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von TobiaZ
du musst das logo als cid im quelltext angeben.
ach gottchen ... so ein umstand.

funktioniert das dann auch mit anderen mailreadern? speziell: was sagt aol dazu?? dann ist die methode mit dem nachladen des bildes vom server wohl doch die bessere!?

aber ich hab gerade gesehen, dass die dateien doch nicht korrekt übertragen werden. ich schätze mal, da sind irgendwo zu viele oder zu wenige umbrüche ... siehst du zufällig, wo?

(ausschnitt)
PHP-Code:
$this->attached[]=    "\n--$this->boundary".
    
"\nContent-Type: application/octet-stream; name=\"$fileName\"".
    
"\nContent-Transfer-Encoding: base64".
    
"\nContent-Disposition: attachment; filename=\"$fileName\"".
    
"\n\n".chunk_split(base64_encode($fileContent)); 

Zitat:
Original geschrieben von TobiaZ
Nix gegen HTML-Mails
ich hab nix gegen html-mails ... zumindest nix wirksames )


grüsse
YellowSky
Mit Zitat antworten
  #4 (permalink)  
Alt 10-09-2003, 20:57
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

also mit der cid das packen eben alle reader, die das packen
(klasse auskunft) Naja, also outlook hats, mit aol hab ich nichts am hut, wenn der überhaupt html kann. aber denke die die multipart mit html könenn, können diese eingebetteten images auch machen.

ich bin zufällig grade am selben thema dran. denke der user soll selber entscheiden, ob er eingebettet haben will, oder ausm web, oder als text. hat alles vor und nachteile

Zitat:
"\n\n".chunk_split(base64_encode($fileContent));
warum zwei \n? ist aber denke ich nicht der fehler

Zitat:
ich hab nix gegen html-mails ... zumindest nix wirksames )
der ist fies!
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #5 (permalink)  
Alt 10-09-2003, 21:09
YellowSky
 Newbie
Links : Onlinestatus : YellowSky ist offline
Registriert seit: Sep 2003
Beiträge: 8
YellowSky ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von TobiaZ
also mit der cid das packen eben alle reader, die das packen
(klasse auskunft) :D Naja, also outlook hats, mit aol hab ich nichts am hut, wenn der überhaupt html kann. aber denke die die multipart mit html könenn, können diese eingebetteten images auch machen.
hmm, dann muss ich das mal bei aol testen. dummerweise haben die kunden immer nen aol-account und die grössten probleme, wenn man html-mails oder mails mit anhängen schickt :((


Zitat:
Original geschrieben von TobiaZ
ich bin zufällig grade am selben thema dran. denke der user soll selber entscheiden, ob er eingebettet haben will, oder ausm web, oder als text. hat alles vor und nachteile
welcher user? der empfänger? wie soll man das denn realisieren? ob html oder text kann man während des sendens entscheiden bzw. bekommt der empfänger eine multipart-message mit html- und text-teilen gesendet.

Zitat:
Original geschrieben von TobiaZ
warum zwei \n?
gute frage, bei text-teilen müssen 2 zeilenumbrüche, damit die trennung zwischen header und text erkannt wird ... ich nehme mal an, dass das bei base64-teilen genauso gehen sollte ... aber auch mit einem umbruch ändert sich nix :(


grüsse
YellowSky
Mit Zitat antworten
  #6 (permalink)  
Alt 10-09-2003, 21:14
Günni
 Master
Links : Onlinestatus : Günni ist offline
Registriert seit: Jun 2002
Ort: Landau/Pfalz
Beiträge: 2.589
Günni ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Schau mal in den CodeSchnipsel nach, dort sollte eine Klasse drin sein mit der du sowas machen kannst...
__________________
mfg
Günni


Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
City-Tiger - Online durch die Straßen tigern...
Mit Zitat antworten
  #7 (permalink)  
Alt 10-09-2003, 21:22
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

@Günni: Du spielverderber! Da hat er sich mühevoll ne eigene klasse gebaut, und jetzt muss er ne fertig nehmen und die ganze arbeit umsonst???

bei mir können die user im profil entscheiden, was sie erhalten wollen. oder das system erkennt das autom.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #8 (permalink)  
Alt 10-09-2003, 21:25
YellowSky
 Newbie
Links : Onlinestatus : YellowSky ist offline
Registriert seit: Sep 2003
Beiträge: 8
YellowSky ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Günni
Schau mal in den CodeSchnipsel nach, dort sollte eine Klasse drin sein mit der du sowas machen kannst...
danke, die hab ich schon gefunden. deine klasse ist eigentlich die basis von meiner version. aber ich hab sie noch ein wenig erweitert bzw. vereinfacht :)

und selbstgebaut ist schneller verstanden ;)


trotzdem danke
YellowSky
Mit Zitat antworten
  #9 (permalink)  
Alt 10-09-2003, 21:26
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

da hast du recht!

wie war doch gleich der autor?
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #10 (permalink)  
Alt 10-09-2003, 21:32
YellowSky
 Newbie
Links : Onlinestatus : YellowSky ist offline
Registriert seit: Sep 2003
Beiträge: 8
YellowSky ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@TobiaZ: welcher autor?

@Günni: magst du vielleicht mal nen blick drauf werfen ... vielleicht fällt dir was auf.

PHP-Code:
class sendmail {

  var 
$from    "";
  var  
$to      = array();
  var  
$subject  "";
  var  
$text    "";
  var  
$attached  = array();

  function 
sendmail$f=''$t=''$s=''$b=''$a='' ) {
    
$this->boundary    strtoupper(md5(uniqid(time())));
    if( !empty(
$f) )  $this->from$f );
    if( !empty(
$t) )  $this->to$t );
    if( !empty(
$s) )  $this->subject$s );
    if( !empty(
$b) )  $this->text$b );
    if( !empty(
$a) )  $this->attachment$a );
  }

  function 
from$f$n='' ) {
    
$this->from    = empty($n) ? $f "$n <$f>";
  }

  function 
to$t ) {
    
$this->to    is_array($t) ? $t : array($t);
  }

  function 
subject$s ) {
    
$this->subject  $s;
  }

  function 
text$t )    {
    
$this->text  =  /* html text */
            
"\n--$this->boundary".
            
"\nContent-Type: text/html; charset=\"iso-8859-1\"".
            
"\nContent-Transfer-Encoding: 8bit".
            
"\n\n$t".
            
/* plain text */
            
"\n--$this->boundary".
            
"\nContent-Type: text/plain; charset=\"iso-8859-1\"".
            
"\nContent-Transfer-Encoding: quoted-printable".
            
"\n\n".strip_tags($t);
  }

  function 
attachment$f$n='' ) {
    
$fileContent    =  is_file($f) ? join(""file($f)) : $f;
    
$fileName      =  empty($n) ? ( is_file($f) ? basename($f) : "attachment".count($attached).".dat" ) : $n;
    if( !empty(
$fileContent) )
                
/* attach files */
      
$this->attached[]=  "\n--$this->boundary".
                
"\nContent-Type: application/octet-stream; name=\"$fileName\"".
                
"\nContent-Transfer-Encoding: base64".
                
"\nContent-Disposition: attachment; filename=\"$fileName\"".
                
"\n\n".chunk_split(base64_encode($fileContent));
  }

  function 
send() {
    
$headers  =  /* multipart header */
            
"From: $this->from".
            
"\nReply-To: $this->from".
            
"\nX-Mailer: sendmail.class v.2 by future media".
            
"\nMIME-Version: 1.0".
            
"\nContent-Type: multipart/mixed; boundary=\"$this->boundary\"".
            
"\n\nThis is a multi-part message in MIME format.".
            
/* add text */
            
$this->text.
            
/* add attachments */
            
join""$this->attached).
            
/* end mail */
            
"--$this->boundary--";

    
$mailError  =  0;
    foreach( 
$this->to as $to )
      if( @
mail$to$this->subject""$headers ) ) $mailError--;

    
// debug
    
echo  "<textarea style='width:800;height:300'>$headers</textarea>";
  }

}

// test

$MM  = new sendmail"MultipartMail <server@actionscripter.de>""tobias@actionscripter.de""testmail""das ist ein <img src='test.jpg'> <b>test</b>" );
$MM->attachment"test.jpg" );
$MM->send(); 

danke
YellowSky
Mit Zitat antworten
  #11 (permalink)  
Alt 10-09-2003, 21:48
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

die originalklasse
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #12 (permalink)  
Alt 10-09-2003, 21:58
YellowSky
 Newbie
Links : Onlinestatus : YellowSky ist offline
Registriert seit: Sep 2003
Beiträge: 8
YellowSky ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von TobiaZ
die originalklasse
von Günni
Mit Zitat antworten
  #13 (permalink)  
Alt 10-09-2003, 22:07
YellowSky
 Newbie
Links : Onlinestatus : YellowSky ist offline
Registriert seit: Sep 2003
Beiträge: 8
YellowSky ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ah, ich habs gefunden :))

es muss so heissen:

PHP-Code:
$fileContent        =    is_file($f) ? fread(fopen($f,"rb"),filesize($f)) : $f
mit file($f) liest man die datei nicht binär aus, sondern als ascii ...

EDIT:

übrigends wird jetzt auch das bild in der mail angezeigt ohne dass ich was ändern muss




danke für eure hilfe
YellowSky

Geändert von YellowSky (10-09-2003 um 22:14 Uhr)
Mit Zitat antworten
  #14 (permalink)  
Alt 11-09-2003, 00:16
Günni
 Master
Links : Onlinestatus : Günni ist offline
Registriert seit: Jun 2002
Ort: Landau/Pfalz
Beiträge: 2.589
Günni ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Poste deine Klasse wenn Sie fertig is auch noch in die Codeschnipsel...
__________________
mfg
Günni


Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
City-Tiger - Online durch die Straßen tigern...
Mit Zitat antworten
  #15 (permalink)  
Alt 11-09-2003, 00:23
YellowSky
 Newbie
Links : Onlinestatus : YellowSky ist offline
Registriert seit: Sep 2003
Beiträge: 8
YellowSky ist zur Zeit noch ein unbeschriebenes Blatt
Standard

klar, wenn du dich damit nicht übergangen fühlst :)
wie gesagt mit mails hab ich mich bisher nicht beschäftigt gehabt und mir mein wissen hier (hauptsächlich von dir) zusammengeklaut ...


grüsse
YellowSky
Mit Zitat antworten
Antwort

Lesezeichen


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

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

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

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


 

Aktuelle PHP Scripte

Newsmanager

Der Newsmanager ist ein Newssystem und Newsletter in einem. Mit WYSIWYG Editor und E-Mail import aus einer bestehenden MySql Datenbank sowie dynamische Kategorien / Themen Filter.

11.09.2019 Stephan_1972 | Kategorie: PHP/ News
Modelmanager

Der Modelmanager ist ein Webtool für Fotografen, kann als komplette Homepage oder als Webtool installiert werden.

11.09.2019 Stephan_1972 | Kategorie: PHP/ Webservice
ContentLion - Open Source CMS ansehen ContentLion - Open Source CMS

ContentLion ist ein in PHP geschriebenes CMS, bei dem man Seiten, Einstellungen usw. in Ordnern lagern kann

22.08.2019 stevieswebsite2 | Kategorie: PHP/ CMS
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:59 Uhr.