Sponsor-Board.de
Antwort schreiben  Thema schreiben 

php Mail versenden

Verfasser Nachricht

Beiträge: 553
Bewertung: 13
Registriert seit: Oct 2012
Status: offline


Beitrag: #1
php Mail versenden

Hallo Sponsor Board,

ich möchte via php eine Mail mit bestimmten Daten versenden. Das funktioniert auch prima. Doch die Umlaute in der Email werden einfach nicht korrekt ausgegeben.

Hier das Script:

PHP-Code:
<?php
$Header 
"Content-type: text/html; charset=utf-8";  
$mail_absender"[email protected]";
$betreff="Deine Daten gesendet über PHPmail";
$text=
"Guten Tag,\n

Umlaute äüöß

"
;
$text=utf8_encode($text); 
mail($email$betreff$text$header);

?>


Die Umlaute sehen in der gesendeten Mail dann so aus: für o. Spaß

Jemand einen Rat?

13.01.2013 11:19
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 1.306
Bewertung: 6
Registriert seit: May 2009
Status: offline


Beitrag: #2
RE: php Mail versenden

probier mal mittels str_replace vorher alle Umlaute in ihr ASCII-Pendant zu ersetzen.

Sprich aus ä ein &auml; ö &ouml; usw.

13.01.2013 11:30
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 168
Bewertung: 2
Registriert seit: Oct 2012
Status: offline


Beitrag: #3
RE: php Mail versenden

Probier mal das:

Erzwungenes Leerzeichen &nbsp;  
¡ umgekehrtes Ausrufezeichen &iexcl; ¡
¢ Cent-Zeichen &cent; ¢
£ Pfund-Zeichen &pound; £
¤ Währungszeichen &curren; ¤
¥ Yen-Zeichen &yen; ¥
¦ durchbrochener Strich &brvbar; ¦
§ Paragraph-Zeichen &sect; §
¨ Pünktchen oben &uml; ¨
© Copyright-Zeichen &copy; ©
ª Ordinal-Zeichen weiblich &ordf; ª
« angewinkelte Anführungszeichen links &laquo; «
¬ Verneinungs-Zeichen &not; ¬
bedingter Trennstrich &shy; ­
® Registriermarke-Zeichen &reg; ®
¯ Überstrich &macr; ¯
° Grad-Zeichen &deg; °
± Plusminus-Zeichen &plusmn; ±
² Hoch-2-Zeichen &sup2; ²
³ Hoch-3-Zeichen &sup3; ³
´ Akut-Zeichen &acute; ´
µ Mikro-Zeichen &micro; µ
¶ Absatz-Zeichen &para; ¶
· Mittelpunkt &middot; ·
¸ Häkchen unten &cedil; ¸
¹ Hoch-1-Zeichen &sup1; ¹
º Ordinal-Zeichen männlich &ordm; º
» angewinkelte Anführungszeichen rechts &raquo; »
¼ ein Viertel &frac14; ¼
½ ein Halb &frac12; ½
¾ drei Viertel &frac34; ¾
¿ umgekehrtes Fragezeichen &iquest; ¿
À A mit accent grave (Gravis) &Agrave; À
Á A mit accent aigu (Akut) &Aacute; Á
 A mit Zirkumflex &Acirc; Â
à A mit Tilde &Atilde; Ã
Ä A Umlaut &Auml; Ä
Å A mit Ring &Aring; Å
Æ A mit legiertem E &AElig; Æ
Ç C mit Häkchen &Ccedil; Ç
È E mit accent grave (Gravis) &Egrave; È
É E mit accent aigu (Akut) &Eacute; É
Ê E mit Zirkumflex &Ecirc; Ê
Ë E Umlaut &Euml; Ë
Ì I mit accent grave (Gravis) &Igrave; Ì
Í I mit accent aigu (Akut) &Iacute; Í
Î I mit Zirkumflex &Icirc; Î
Ï I Umlaut &Iuml; Ï
Ð großes Eth (isländisch) &ETH; Ð
Ñ N mit Tilde &Ntilde; Ñ
Ò O mit accent grave (Gravis) &Ograve; Ò
Ó O mit accent aigu (Akut) &Oacute; Ó
Ô O mit Zirkumflex &Ocirc; Ô
Õ O mit Tilde &Otilde; Õ
Ö O Umlaut &Ouml; Ö
× Mal-Zeichen &times; ×
Ø O mit Schrägstrich &Oslash; Ø
Ù U mit accent grave (Gravis) &Ugrave; Ù
Ú U mit accent aigu (Akut) &Uacute; Ú
Û U mit Zirkumflex &Ucirc; Û
Ü U Umlaut &Uuml; Ü
Ý Y mit accent aigu (Akut) &Yacute; Ý
Þ großes Thorn (isländisch) &THORN; Þ
ß scharfes S &szlig; ß
à a mit accent grave (Gravis) &agrave; à
á a mit accent aigu (Akut) &aacute; á
â a mit Zirkumflex &acirc; â
ã a mit Tilde &atilde; ã
ä a Umlaut &auml; ä
å a mit Ring &aring; å
æ a mit legiertem e &aelig; æ
ç c mit Häkchen &ccedil; ç
è e mit accent grave (Gravis) &egrave; è
é e mit accent aigu (Akut) &eacute; é
ê e mit Zirkumflex &ecirc; ê
ë e Umlaut &euml; ë
ì i mit accent grave (Gravis) &igrave; ì
í i mit accent aigu (Akut) &iacute; í
î i mit Zirkumflex &icirc; î
ï i Umlaut &iuml; ï
ð kleines Eth (isländisch) &eth; ð
ñ n mit Tilde &ntilde; ñ
ò o mit accent grave (Gravis) &ograve; ò
ó o mit accent aigu (Akut) &oacute; ó
ô o mit Zirkumflex &ocirc; ô
õ o mit Tilde &otilde; õ
ö o Umlaut &ouml; ö
÷ Divisions-Zeichen &divide; ÷
ø o mit Schrägstrich &oslash; ø
ù u mit accent grave (Gravis) &ugrave; ù
ú u mit accent aigu (Akut) &uacute; ú
û u mit Zirkumflex &ucirc; û
ü u Umlaut &uuml; ü
ý y mit accent aigu (Akut) &yacute; ý
þ kleines Thorn (isländisch) &thorn; þ
ÿ y Umlaut &yuml; ÿ

13.01.2013 11:32
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 553
Bewertung: 13
Registriert seit: Oct 2012
Status: offline


Beitrag: #4
RE: php Mail versenden

Hey, da ich in php noch Anfänger bin muss ich bei der Funktion str_replace leider passen. Hast du ein Code Beispiel für mich? Vielleicht verstehe ich dann was ich machen muss Wink

13.01.2013 11:33
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 1.306
Bewertung: 6
Registriert seit: May 2009
Status: offline


Beitrag: #5
RE: php Mail versenden

[Link: Registrierung erforderlich]

wenn du dich ernsthaft in zukunft mit php weiter beschäftigen willst, kommst du an der seite nicht vorbei.
Mach dir am besten selbst ein Bild davon, was da für Werte reinkommen und was die Funktion für nen Rückgabewert hat. Das bringt dir mehr, als wenn wir dir alles hinterhertragen.

13.01.2013 11:34
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 1.130
Bewertung: 29
Registriert seit: Jun 2008
Status: offline


Beitrag: #6
RE: php Mail versenden

Hi,

ich bin mir nicht ganz sicher... aber ich denke mit Unicodes wirst du das Problem los!

eine Umfangreiche liste an Unicodes findest du hier:

[Link: Registrierung erforderlich]


Einfach die Umlaute bzw. Zeichen durch unicodes ersetzen.



Lg eret12

13.01.2013 13:59
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 462
Bewertung: 2
Registriert seit: Nov 2012
Status: offline


Beitrag: #7
RE: php Mail versenden

Alles sicherlich richtig was hier steht, aber von der Architektur grauenhaft.

Vielleicht reicht es schon, wenn du folgende Zeile weglässt,
dass ist definitiv ein encoding Fehler:

PHP-Code:
$text=utf8_encode($text); 

oder mache daraus ein

PHP-Code:
$text=utf8_decode($text); 


Welches Encoding hat dein PHP Dokument? Mach dass auf UTF-8

Sende auch folgenden Header:

PHP-Code:
header('content-type: text/html; charset=utf-8'); 


Sollte eigentlich all das nicht beinflussen, aber setzte auch den meta Bereich von Html auf UTF-8

Code:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

[/php]

Edit: Hier mal eine Mail Klasse von mir, die funktionert solange der header auf utf8 gesetzt ist

PHP-Code:
<?php
class email {
    var 
$email;
    var 
$betreff;
    var 
$an;
    var 
$von;
    function 
email ($tpl) {
        
$this -> email $tpl;
        if (
file_exists ($this -> email)) {
            
$fp fopen ($this -> email"r");
            
$text fread ($fpfilesize($this -> email));
            
fclose ($fp);
            
$this -> email $text;
        } else {
            
$this -> email $tpl;
        }
    }
    function 
an ($an) {
        
$this -> an $an;
    }
    function 
betreff ($betreff) {
        
$this -> betreff $betreff;
    }
    function 
von ($adresse$name '') {
        if (!empty (
$name)) {
            
$this -> von 'From: '$name '<' $adresse '>';
        } else {
            
$this -> von 'From: '$adresse;
        }
    }
    function 
headers ($an$betreff$von_adresse$von_name '') {
        
$this -> an ($an);
        
$this -> betreff ($betreff);
        
$this -> von ($von_adresse$von_name);
    }        
    function 
parse ($search$replace) {
        
$this -> email str_replace ($search$replace$this -> email);
    }
    function 
send () {
        
$this -> email utf8_decode ($this -> email);
        
$this -> betreff utf8_decode ($this -> betreff);
        
$this -> an utf8_decode ($this -> an);
        
$this -> von utf8_decode ($this -> von);
        if (
mail ($this -> an$this -> betreff$this -> email$this -> von)) {
            return 
true;
        } else {
            return 
false;
        }
    }
}
?>

So rufst du die auf:

PHP-Code:
                $noti_mail = new email ('pfad_zum_tempalte_welches_auch_utf_8_ist.txt');
                
$noti_mail -> headers ("empfänger""betreff""absender""absenderName");
                
$noti_mail -> parse ('%var%'$var);
                
$noti_mail -> parse ('%var%'$var);
                
$noti_mail -> parse ('%var%'$var);
                
$noti_mail -> parse ('%var%'$var);
                
$noti_mail -> send(); 


Freundliche Grüße,

[Link: Registrierung erforderlich]

Full Stack Software Engineer & Architekt

Sprachen: C#, TSQL, HTML5, Ecmascript 6, CSS 3.1, (TS, C++, PHP)
Frameworks: .NET, .NET Core, ASP.NET MVC, ASP.NET WebApi, WPF, WCF, Entity Framework, Bootstrap

Dieser Beitrag wurde zuletzt bearbeitet: 13.01.2013 16:30 von GGSeSports.

13.01.2013 16:23
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Antwort schreiben  Thema schreiben 

Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  WordPress automatische Mail 48h nach Veröffentlichung eret12 6 1.775 12.10.2016 16:45
Letzter Beitrag: push
  Problem mit E-mail Skript T-I-M 7 1.400 24.07.2013 21:25
Letzter Beitrag: [IH] Tim
  e-mail script Problem donner45 8 1.306 25.07.2012 20:48
Letzter Beitrag: deinsponsoring.de
  mail() läuft nicht Aaron 8 1.293 01.03.2012 00:59
Letzter Beitrag: Aaron
  [S] e-Mail Script ErroROnly 5 1.372 18.12.2011 19:12
Letzter Beitrag: Quartor

 Druckversion anzeigen
 Thema einem Freund senden
 Thema abonnieren
 Thema zu den Favoriten hinzufügen

Sponsor-Board.de

Community
Über uns
Partner
Powered by Mybb: Copyright 2002-2024 by MyBB Group - Deutsche-Übersetzung von Mybb.de
 
© 2007-2024 Sponsor-Board.de - Hosted by OVH

Willkommen auf SB!   Sie benötigen ein Sponsoring?   1. Anmelden   2. Sponsoring-Anfrage erstellen   3. Nachrichten von Sponsoren erhalten   Kostenlos!   Jetzt registrieren