php
  • email
  • attachment
  • 2017-04-23 81 views 0 likes 
    0
    $headers = "MIME-Version: 1.0" . "\r\n"; 
    $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; 
    
    // More headers 
    $headers .= 'From: <[email protected]>' . "\r\n"; 
    $headers .= 'Cc: [email protected]' . "\r\n"; 
    
    $email = new PHPMailer(); 
    $email->isHTML(true); 
    $email->From  = '<[email protected]>'; 
    $email->FromName = 'Name'; 
    $email->Subject = $Subject; //subject name 
    $email->Body  = $txt; //This is html message 
    $email->AddAddress($to); 
    $email->AddAttachment("http://www.domain.in/" , "invoice.pdf", 'base64', 'application/octet-stream'); 
    $email->Send(); 
    

    文件沒有發送,如果我在上面的部分中傳遞變量作爲參數,它在靜態值時不工作。如何通過php中的phpmailer函數傳遞動態值

    回答

    1

    您正在提供url而不是 a path作爲參數的文件。

    您可能需要使用類似:

    $email->AddAttachment("/path/to/invoice.pdf" , "invoice.pdf", 'base64', 'application/octet-stream'); 
    

    的命令附加一個本地文件只是 $mail->addAttachment($path);,其中$path包含路徑到你想發送的 文件,並且可以放置在$mail = new PHPMailer;之間的任何位置併發送消息。請注意,您不能使用URL 的路徑 - 你可以只使用本地文件系統path。有關如何使用遠程內容,請參閱下面有關字符串附件的註釋 。


    您還可以使用addStringAttachment

    $url = "http://www.domain.in/" 
    $mail->addStringAttachment(file_get_contents($url), 'myfile.pdf'); 
    

    addStringAttachment()方法的工作原理就像addAttachment(), 但你通過這個項目,而不是一個文件系統 path的實際內容。因爲它是用於提供一個 用於在接收器端的字符串數據文件名$filename參數是必需的。


    Read the documentation

    +0

    正在我想這其中也。見下面的代碼也被顯示錯誤「無法訪問文件:」 @Pedro洛比託 –

    0

    現在

    $mail = new PHPMailer(); // defaults to using php "mail()" 
         $body = $txt; 
    
          $mail->AddReplyTo("[email protected]","Test Lernt"); 
          $mail->SetFrom('[email protected]', 'xxxx'); 
    
    
          $mail->AddAddress($to, "Giridhari Lal");  
          $mail->Subject = $subject;  
          $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test 
    
          $mail->MsgHTML($body); 
          //documentation for Output method here: http://www.fpdf.org/en/doc/output.htm 
          $pdfdoc = $pdf->Output($filename,'F');  
          $path = "invoice.pdf"; 
    
          $mail->AddAttachment($path, '', $encoding = 'base64', $type = 'application/pdf'); 
          var_dump($mail); 
          $mail->send(); 
    
    +0

    @Pedro洛比託看到這個代碼。仍然文件不發送除html內容 –

    相關問題