zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Mailanhang und iCal

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 24.03.2014, 11:19
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 03.01.2014
Ort: Erfurt
Beiträge: 11
picard_1983 befindet sich auf einem aufstrebenden Ast
Frage Mailanhang und iCal

Hallo zusammen,

ich brauch mal eure Hilfe:
Ich erstelle mit folgendem Code eine iCal Datei zum Download. Das funktioniert auch wunderbar.

PHP-Code:
    $Filename "Termin.ics";
    
header("Content-Type: text/Calendar");
    
header("Content-Disposition: inline; filename=$Filename");


function 
GUID()
{
    if (
function_exists('com_create_guid') === true)
    {
        return 
trim(com_create_guid(), '{}');
    }

    return 
sprintf('%04X%04X-%04X-%04X-%04X-%04X%04X%04X'mt_rand(065535), mt_rand(065535), mt_rand(065535), mt_rand(1638420479), mt_rand(3276849151), mt_rand(065535), mt_rand(065535), mt_rand(065535));
}

$titel 'Test';
$ort 'Mars';
$beschreibung 'Nuescht';

$start date('Ymd\THis'1396504800);
$ende date('Ymd\THis'1396540800);
$erstellt date('Ymd\THis'1391678727);

$uid GUID();

echo 
'BEGIN:VCALENDAR'."\n";
echo 
'VERSION:2.0'."\n";
echo 
'PRODID:VMS'."\n";
echo 
'METHOD:PUBLISH'."\n";
echo 
'BEGIN:VEVENT'."\n";
echo 
'UID:'.$uid.''."\n";
echo 
'SUMMARY:'.$titel.''."\n";
echo 
'LOCATION;ENCODING=QUOTED-PRINTABLE:'.$ort.''."\n";
echo 
'DESCRIPTION:'.$beschreibung.''."\n";
echo 
'CLASS:PUBLIC'."\n";
echo 
'DTSTART:'.$start.''."\n";
echo 
'DTEND:'.$ende.''."\n";
echo 
'DTSTAMP:'.$erstellt.''."\n";
echo 
'END:VEVENT'."\n";
echo 
'END:VCALENDAR'."\n"
Jetzt möchte ich diese Datei noch als Mailanhang versenden.
Ich habe mir schon einige Codebeispiele angeschaut wie man einen Anhang per Mail versendet.

Folgenden Code habe ich z. B. um Dateianhänge zu versenden:
PHP-Code:
function mail_att($to,$subject,$message,$anhang)
   {
   
$absender "Test";
   
$absender_mail "test@test.de";
   
$reply "test@test.de";

   
$mime_boundary "-----=" md5(uniqid(mt_rand(), 1));

   
$header  ="From:".$absender."<".$absender_mail.">\n";
   
$header .= "Reply-To: ".$reply."\n";

   
$header.= "MIME-Version: 1.0\r\n";
   
$header.= "Content-Type: multipart/mixed;\r\n";
   
$header.= " boundary=\"".$mime_boundary."\"\r\n";

   
$content "This is a multi-part message in MIME format.\r\n\r\n";
   
$content.= "--".$mime_boundary."\r\n";
   
$content.= "Content-Type: text/html charset=\"iso-8859-1\"\r\n";
   
$content.= "Content-Transfer-Encoding: 8bit\r\n\r\n";
   
$content.= $message."\r\n";

   
//$anhang ist ein Mehrdimensionals Array
   //$anhang enthält mehrere Dateien
   
if(is_array($anhang) AND is_array(current($anhang)))
      {
      foreach(
$anhang AS $dat)
         {
         
$data chunk_split(base64_encode($dat['data']));
         
$content.= "--".$mime_boundary."\r\n";
         
$content.= "Content-Disposition: attachment;\r\n";
         
$content.= "\tfilename=\"".$dat['name']."\";\r\n";
         
$content.= "Content-Length: .".$dat['size'].";\r\n";
         
$content.= "Content-Type: ".$dat['type']."; name=\"".$dat['name']."\"\r\n";
         
$content.= "Content-Transfer-Encoding: base64\r\n\r\n";
         
$content.= $data."\r\n";
         }
      
$content .= "--".$mime_boundary."--";
      }
   else 
//Nur 1 Datei als Anhang
      
{
      
$data chunk_split(base64_encode($anhang['data']));
      
$content.= "--".$mime_boundary."\r\n";
      
$content.= "Content-Disposition: attachment;\r\n";
      
$content.= "\tfilename=\"".$anhang['name']."\";\r\n";
      
$content.= "Content-Length: .".$dat['size'].";\r\n";
      
$content.= "Content-Type: ".$anhang['type']."; name=\"".$anhang['name']."\"\r\n";
      
$content.= "Content-Transfer-Encoding: base64\r\n\r\n";
      
$content.= $data."\r\n";
      }


   if(@
mail($to$subject$content$header)) return true;
   else return 
false;
   } 
Aber wie bekommt man die oben generierte iCal Datei als Anhang an die Mail?

Könnt ihr mir ein paar Tipps geben?

Vielen Dank!

Gruß
Picard
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 24.03.2014, 11:49
?!?
XHTMLforum-Kenner
 
Registriert seit: 20.03.2013
Beiträge: 1.638
explanator sorgt für eine eindrucksvolle Atmosphäreexplanator sorgt für eine eindrucksvolle Atmosphäre
Standard

Du generierst mit ersterem Code keine Datei, sondern gibst sie aus.
Um eine Datei zu generieren musst du den obigen Code in eine Datei schreiben anstatt sie mit header und echo auszugeben.

Für die Mail würde ich auf eine Mailklasse wie phpmailer oder swiftmailer zurückgreifen.
__________________
"Wieso ist der Code schrott, ich dachte hier seien Profis..."
Aus einem Forum.
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 24.03.2014, 11:51
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 03.01.2014
Ort: Erfurt
Beiträge: 11
picard_1983 befindet sich auf einem aufstrebenden Ast
Standard

Ok vielen Dank. Dann muss ich mal schauen wie ich am besten das ganze in eine Datei generiere...habe ich noch nicht gemacht.

Und wie ich dann diese datei als Anhang an die Mail hänge, dass sollte ja mit der vorhanden funktion klappen...

Den PHPMailer schaue ich mir mal an...

Kannst du mir kurz ein Tipp geben wie ich das ganze in eine Datei packe?
Mit Zitat antworten
  #4 (permalink)  
Alt 24.03.2014, 12:14
?!?
XHTMLforum-Kenner
 
Registriert seit: 20.03.2013
Beiträge: 1.638
explanator sorgt für eine eindrucksvolle Atmosphäreexplanator sorgt für eine eindrucksvolle Atmosphäre
Standard

Statt
PHP-Code:
echo 'BEGIN:VCALENDAR'."\n"
echo 
'VERSION:2.0'."\n"
schreibst du
PHP-Code:
$file "termin.ics";
$content 'BEGIN:VCALENDAR'."\n";
$content .= 'VERSION:2.0'."\n"
file_put_contents($file$content); 
siehe PHP: file_put_contents - Manual
Ich würde mir angewöhnen Dateinamen immer klein zu schreiben.
__________________
"Wieso ist der Code schrott, ich dachte hier seien Profis..."
Aus einem Forum.
Mit Zitat antworten
  #5 (permalink)  
Alt 24.03.2014, 13:20
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 03.01.2014
Ort: Erfurt
Beiträge: 11
picard_1983 befindet sich auf einem aufstrebenden Ast
Standard

Ah Ja stimmt das habe ich schon einmal gesehen....

Wenn ich diese Datei jetzt erstelle, dann muss ich die ja irgendwie in folgende Zeile für die Mail bringen

PHP-Code:
$anhang chunk_split(base64_encode($file));
.
.
$kopf .= "Content-Disposition: attachment; filename=\"".$datei."\"\n\n";
$kopf .= $anhang."\n"
Mit Zitat antworten
  #6 (permalink)  
Alt 24.03.2014, 13:31
?!?
XHTMLforum-Kenner
 
Registriert seit: 20.03.2013
Beiträge: 1.638
explanator sorgt für eine eindrucksvolle Atmosphäreexplanator sorgt für eine eindrucksvolle Atmosphäre
Standard

Lerne die Grundlagen und verwende eine der schon genannten Mailerklassen.
__________________
"Wieso ist der Code schrott, ich dachte hier seien Profis..."
Aus einem Forum.
Mit Zitat antworten
  #7 (permalink)  
Alt 24.03.2014, 13:42
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 03.01.2014
Ort: Erfurt
Beiträge: 11
picard_1983 befindet sich auf einem aufstrebenden Ast
Standard

Joar habe ich und wollte auch gerade schreiben das es erst einmal so funktioniert:

PHP-Code:
$Filename "termin.ics";
$content 'BEGIN:VCALENDAR'."\n";
$content .= 'VERSION:2.0'."\n"
file_put_contents($file$content); 
.
.
.
$anhang chunk_split(base64_encode($content));
.
.
.
    
$kopf .= "Content-Disposition: attachment; filename=\"".$Filename."\"\n\n";
    
$kopf .= $anhang."\n";
.
.

Vielen Dank trotzdem und die Mailerklasse werde ich mir demnächst anschauen. Ich brauchte aber nur eine Mail wo die ics in den Anhang geht. Ob dazu gleich eine komplette neue Mailerklasse verwendet werden muss keine Ahnung.

In Moment tut es erst einmal die normale PHP Mail Funktion.

Aber ich schau es mir trotzdem an. Eventuell kann man mit der Mailerklasse noch ein bissel mehr anstellen.

VIelen Dank!
Mit Zitat antworten
Antwort

Stichwörter
anhang, ical, mail

Themen-Optionen
Ansicht

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 aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Erfahrungen mit iCal und PHP David Serveradministration und serverseitige Scripte 0 06.01.2011 10:36


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