2016-12-20 1 views
0
require_once('./PHPMailer-master/PHPMailerAutoload.php'); 
    $mail = new PHPMailer(); 
    $mail->isSMTP();          // Set mailer to use SMTP 
    $mail->Host = 'smtp.office365.com'; 
    $mail->ClearReplyTos(); 
    $mail->addReplyTo($organizer_email, $organizer);// Specify main and backup server 
    $mail->SetFrom('[email protected]', 'zyx'); 
    $mail->SMTPAuth = tls;        // Enable SMTP authentication 
    $mail->Username = '[email protected]';     // SMTP username 
    $mail->Password = 'xyzzzzz';    // SMTP password 
    $mail->SMTPSecure = 'tls';       // Enable encryption, 'ssl' also accepted 
    $mail->Port = 587;         //Set the SMTP port number - 587 for authenticated TLS 
    $mail->addAddress($organizer_email); // Add a recipient 
    $content = file_get_contents($resume_attach_path); 
    $content = chunk_split(base64_encode($content)); 
    $eol = "\r\n"; 
    $tags = explode(',', $to); 
    foreach ($tags as $tag) { 
     $mail->addCC($tag); 
    } 
    $mail->WordWrap = 50;   
    $mail->Subject = $subject; 
    $mail->Body = $desc; 
    $mail->AltBody = $text; // in your case once more the $text string 
    $mail->Ical = $text; // ical format, in your case $text string 
    $mail->isHTML(true); // Set email format to HTML  
    //$mail->addStringAttachment($resume_attach_path,'base64'); 
    if ($mail->send()) { 
     return true; 
    }else{ 
     return false; 
    } 

wenn ich verwende addAttachment ich kann nur die Anlage sehen, kann die ische laden nicht sehen, aber wenn ich die Anlage entfernen kann ich die ische sehen einladen, wie kann ich senden sowohl inline als auch externe Dokumentanhänge in phpmailer.phpmailer, wie sowohl inline ische und Dokumentenanhang senden

+0

Was machst du mit Kopfzeilen und Inhaltscodierung für? PHPMailer macht das alles für Sie. Sie können 'addAttachment' und' addEmbeddedAttachment' aufrufen. Sie legen keine Absenderadresse fest; Sie müssen 'clearReplyTos' nicht aufrufen. Der Aufruf von 'msgHTML' überschreibt sowohl' Body' als auch 'AltBody', so dass es keinen Sinn macht, sie vorher festzulegen. Einige grundlegende Lektüre von [Dokumentation] (https://github.com/PHPMailer/PHPMailer/wiki) würde wahrscheinlich helfen. – Synchro

+0

können Sie einen Beispielcode anzeigen @Synchro – dude

+1

Schauen Sie sich die mit PHPMailer bereitgestellten und in den Dokumenten beschriebenen Beispiele an - sie machen nichts anderes. Wenden Sie nur ein wenig Logik auf das an, was Sie tun - rufen Sie nicht nur zufällige Funktionen auf, setzen Sie zufällige Zeichenfolgen, wenden Sie zufällige Kodierungen an. – Synchro

Antwort

0

ich Ihnen ein einfaches Arbeitsbeispiel hier zeigte,

<?php 
function sendMail($subject, $body, $name, $email, $attachment = null){ 
     $mail = new PHPMailer(true); 
     $mail->IsSMTP(); // telling the class to use SMTP 
     $mail->SMTPAuth = true; // enable SMTP authentication 
     $mail->SMTPSecure = "ssl"; // sets the prefix to the servier 
     $mail->Host = "**************"; // sets GMAIL as the SMTP server 
     $mail->Port = 465; // set the SMTP port for the GMAIL server 
     $mail->Username = "*************"; // GMAIL username 
     $mail->Password = "***********"; // GMAIL password 

     //Typical mail data 
     $mail->AddAddress($email, $name); 
     $mail->SetFrom('*********', '************'); 
     $mail->Subject = $subject;  
     $mail->Body = $body; 
     $mail->IsHTML(true); 
     if($attachment){    
      $mail->AddAttachment($attachment['tmp_name'], 
         $attachment['name']); 
     } 
     try{ 

      $mail->Send(); 

     } catch(Exception $e){ 
      //Something went bad 
      // print_r($e); 
      echo "Fail :("; 
      die; 
     } 
    } 
?> 

In diesem Code $attachment$_FILES['file'] ist. Wie diese Funktion aufgerufen wird, ist unten angegeben.

sendMail($subject, $body, $name, $email, $_FILES['file']); 

Um Ical in Mailer zu verwenden, um einen in PHPMailer Code Kommentar Stackoverflow Question

+0

ich habe es versucht ... das zeigt nur den Anhang nicht den Inline ... du kannst nicht sowohl Inline als auch Anhang anzeigen – dude

+0

ok hast du auch '$ mail-> addAttachment versucht ('/calendar_file.ics'); 'und habe github Problem -> https://github.com/PHPMailer/PHPMailer/issues/175 –

+0

Hussian Ich habe das auch versucht – dude

0

nach siehe:

nur unterstützten in einfachen alt oder alt_inline Nachrichtentypen

, wenn Sie hinzufügen Andere Anhänge, Teil der Ical-Datei basierend auf Ical Eigenschaft fehlt ist.