当前位置: 首页 > 知识库问答 >
问题:

如何使用PHP将xml文件发送到电子邮件中?

萧业
2023-03-14

我创建了一个XML,我想将其作为附件发送到电子邮件。如何使用PHP做到这一点?我的代码不起作用

我有这个

<?php
$mail_to = "";
$from_mail = "";
$from_name = "";
$reply_to = "";
$subject = "";
$message = "";

/*附件文件 */ // 附件位置

$file_name = "only1.php";
$path = "http://66.147.244.92/~homecre1/public_html/Test/only1.php;

//读取文件内容

$file = $path.$file_name;
$file_size = filesize($file);
$handle = fopen($file, "r");
$content = fread($handle, $file_size);
fclose($handle);
$content = chunk_split(base64_encode($content));

/*设置电子邮件标题 */ // 生成边界

$boundary = md5(uniqid(time()));

//电子邮件标题

$header = "From: ".$from_name." \r\n";
$header .= "Reply-To: ".$reply_to."\r\n";
$header .= "MIME-Version: 1.0\r\n";

多部分包装电子邮件内容和附件

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

$message .= "This is a multi-part message in MIME format.\r\n\r\n";
$message .= "--".$boundary."\r\n";

//电子邮件内容//内容类型可以是文本/纯或文本/html

$message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n";
$message .= "Content-Transfer-Encoding: 7bit\r\n";
$message .= "\r\n";
$message .= "$message_body\r\n";
$message .= "--".$boundary."\r\n";

//附件//编辑不同文件扩展名的内容类型

$message .= "Content-Type: application/php;\r\n";
$message .= " name=\"".$file_name."\"\r\n";
$message .= "Content-Transfer-Encoding: base64\r\n";
$message .= "Content-Disposition: attachment;\r\n";
$message .= " filename=\"".$file_name."\"\r\n";
$message .= "\r\n".$content."\r\n";
$message .= "--".$boundary."--\r\n";

//发送电子邮件

if (mail($mail_to, $subject, $message, $header)) {
    echo "Sent";
} else {
    echo "Error";
}
?>

共有1个答案

柯景龙
2023-03-14

如果您使用的是PhpMailer库,请使用以下函数添加文件。

$mail->AddAttachment("filename");

PHPMailer库链接:https://github.com/PHPMailer/PHPMailer

 类似资料:
  • 问题内容: 我在网站上使用PHP,并且想添加电子邮件功能。 我已经安装了WAMPSERVER。 如何使用PHP发送电子邮件? 问题答案: 使用PHP的功能是可能的。请记住,邮件功能在本地服务器上不起作用。

  • 下面的脚本可以将pdf文件作为附件发送到Gmail和Outlook,但不会显示在Yahoo mail中。我的代码怎么了? 其次,当邮件被发送时,除了pdf附件本身,它不会携带邮件正文。任何关于如何添加带有pdf附件的邮件正文的建议都将不胜感激。

  • 我已经创建了PHP应用程序,并使用Heroku进行了部署。在应用程序中,我有联系形式发送邮件到我的gmail帐户。为了实现这一点,我编写了以下PHP代码 我的php脚本正在执行。但它没有发送邮件,而是显示。有谁可以帮助实现联系表单使用PHP?

  • 问题内容: 我目前正在写一个音乐博客。管理员每2-3天发布一次新文章。管理员发布文章后,将立即向大约5000个订阅者发送大量电子邮件。 实施群发邮件功能的最佳方法是什么? 下列功能有效吗? 另一个问题:如果所有5000个订阅者都在使用Yahoo Mail,Yahoo是否会将其视为DDOS攻击并阻止我的SMTP服务器的IP地址? 问题答案: 首先,使用PHP随附的mail()函数不是最佳解决方案。它

  • 问题内容: 我知道有一些与此类似的问题,但我无法使其正常运行。 好的,我在一个名为$ emailList的变量中有一个从数据库中获取的电子邮件列表。如果将变量放在该部分中,则可以获取代码以从表单发送电子邮件,但无法使其与bcc一起使用。我什至还添加了一封电子邮件,以防万一,但这没什么关系。 这是我的代码。 我试过两个代码: 和 不是因为这些电子邮件而没有分开电子邮件。我知道他们是因为如果我在本节中