2016-07-21 8 views
-2
$myXML = 
     '<?xml version="1.0" encoding="ISO-8859-2"?> 
     <Document-ORDRES> 
      <ORDRES-Header> 
       <OrderResponseNumber>123</OrderResponseNumber> 
       <OrderResponseDate>0</OrderResponseDate> 
       <BuyerOrderNumber>0</BuyerOrderNumber> 
       <BuyerOrderDate>0</BuyerOrderDate> 
       <DeliveryDate>0</DeliveryDate> 
      </ORDRES-Header> 
     </Document-ORDRES>';  

$xml=simplexml_load_string($myXML) or die("Error: Cannot create object"); 

public function send_mail($xml){ 
    print_r($xml); 
    echo "</br></br>"; 
    $data; 
    require 'C:\xampp\htdocs\PHPMailer-master\PHPMailerAutoload.php'; 

    header('Content-Type: text/html; charset=utf-8'); 
    $mail = new PHPMailer; 
    $mail->isSMTP(); 
    $mail->SMTPDebug = 2; 
    $mail->Debugoutput = 'html'; 
    $mail->Host = "..."; 
    $mail->Port = 587; 
    $mail->SMTPOptions = array(
     'ssl' => array(
      'verify_peer' => false, 
      'verify_peer_name' => false, 
      'allow_self_signed' => true 
     ) 
    ); 
    $mail->SMTPAuth = true; 

    $mail->Username = "..."; 
    $mail->Password = "..."; 
    $mail->setFrom('...', '...'); 
    $mail->addAddress('...', ''); 
    $mail->Subject = '...'; 
    $mail->AltBody = " "; 
    $mail->msgHTML("Test"); 
    $mail->addAttachment($xml, "xml.xml"); 
    if (!$mail->send()) { 
     echo "Mailer Error: " . $mail->ErrorInfo; 
    } else { 
     echo "Message sent!"; 
    } 
} 

私は何をすべきですか? 添付ファイルのようにこのxmlを送信したいが、メールに添付ファイルがない。 私はちょうど電子メールのテキストを持っています。phpMailerでxml(添付ファイルなど)を送信するには

答えて

0

利用代わりaddAttachment()addStringAttachment()方法:

$mail->addStringAttachment($xml, "xml.xml"); 

addAttachment()はそう代わりにファイルとしてXMLを保存しなければならない、ファイルへのパスを持つ添付ファイルを追加します。

$file = __DIR__ . '/xml.xml'; 
file_put_contents($file, $myXML); 

それを追加削除してください...

$mail->addAttachment($file); 
$mail->send(); 
unlink($file); 
+0

私はPHPMai lerはファイルですが、試してみてください.. ありがとう:) – Mafika

関連する問題