使用PHP发送XML附件

时间:2018-12-04 10:34:09

标签: php xml email attachment

如何将生成的XML作为附件发送,而不是打印出来?

<?php
    $message = '<?xml version="1.0" encoding="UTF-8"?>'."\r\n".
    '<?ADF VERSION="1.0"?>'."\r\n".
    '<adf>'."\r\n".
    '</adf>'."\r\n";
    $headers .= 'Content-Type: text/plain; charset="utf-8"'."\r\n";
    $headers .= 'From: <Testing>'."\r\n";
    mail('my@email.it', 'Subject', $message, $headers);
?>

使用修改了我的项目,可以完美地使用XAML文件附件:

<?php
require 'class.phpmailer.php';

$mittente = "info@mysite.it";
$nomemittente = "Test mail";
$destinatario = "web@mysite.it";
$ServerSMTP = "smtp.mysite.it";  //server SMTP autenticato Hosting Solutions
$corpo_messaggio = "Grazie per averci contattato!!";

$messaggio = new PHPMailer;
// utilizza la classe SMTP invece del comando mail() di php
$messaggio->IsSMTP(); 
$messaggio->SMTPAuth   = true;     // abilita autenticazione SMTP
$messaggio->SMTPKeepAlive = "true";
$messaggio->Host  = $ServerSMTP;
$messaggio->Username   = "info@mysite.it";      // utente server SMTP autenticato
$messaggio->Password   = "aaaaa";    // password server SMTP autenticato

$messaggio->From   = $mittente;
$messaggio->FromName = $nomemittente;
$messaggio->AddAddress($destinatario); 
$messaggio->Body = $corpo_messaggio;

$messaggio->AddAttachment("test.xml"); 


if(!$messaggio->Send()) {
    echo "errore nella spedizione: ".$messaggio->ErrorInfo;
} else {
    echo "messaggio inviato correttamente";
}
?>

但是我需要创建内联XML,而不是外部文件,如下所示:

 $message = '<?xml version="1.0" encoding="UTF-8"?>'."\r\n".
    '<?ADF VERSION="1.0"?>'."\r\n".
    '<adf>'."\r\n".
    '</adf>'."\r\n";

0 个答案:

没有答案