将上传的文件作为电子邮件附件发送

2023-12-03

我是网页设计的新手。我需要用 HTML 创建一个表单,要求用户输入多个字段并上传他/她的简历。当他提交表格时,他的提交内容应该通过电子邮件发送给我,并附上他的简历作为电子邮件的附件。 我使用 PHP 来发送电子邮件。一切正常,除了文件未附加到发送的电子邮件中。

我发布了 HTML 和 PHP 代码,请帮助我..

HTML 代码: 文件名:Careers.html

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Contact Form</title>
</head>

<body>
<form action="Careers.php" method="post" enctype="multipart/form-data">
    Name<br>
     <input type="text" name="cf_name"><br>
    E-mail<br>
     <input type="text" name="cf_email"><br>
        Date of Birth<br>
     <input type="text" name="db_name"><br>
        Contact Number<br>
     <input type="text" name="db_cntct"><br>
    Class 12 Marks/CGPA/Percentage<br>
     <input type="text" name="cf_board"><br>
         Graduation Marks/CGPA/Percentage<br>
     <input type="text" name="db_grad"><br>
     Post-Graduation Marks/CGPA/Percentage<br>
     <input type="text" name="cf_pgrad"><br>
        Present Employer<br>
     <input type="text" name="db_emplyr"><br>
     Date of Joining<br>
     <input type="text" name="cf_doj"><br>
        Designation<br>
     <input type="text" name="db_desg"><br>
        Current CTC<br>
     <input type="text" name="db_ctc"><br>
     Upload your Resume<br>
     <input type="file" name="attachment" size="40"><br>
Message<br>
<textarea name="cf_message"></textarea><br><br>
<input type="submit" value="Send">
<input type="reset" value="Clear">
</form>
</body>
</html>

PHP 代码: 文件名:Careers.php

<?php
$field_name = $_POST['cf_name'];
$field_email = $_POST['cf_email'];
$field_dob = $_POST['db_name'];
$field_contact = $_POST['db_cntct'];
$field_board = $_POST['cf_board'];
$field_grad = $_POST['db_grad'];
$field_pgrad = $_POST['cf_pgrad'];
$field_emplyr = $_POST['db_emplyr'];
$field_doj = $_POST['cf_doj'];
$field_desg = $_POST['db_desg'];
$field_ctc = $_POST['db_ctc'];
$field_message = $_POST['cf_message'];

$mail_to = '[email protected]';
$subject = 'Job Application from a site visitor '.$field_name;

$body_message = 'From: '.$field_name."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Date of Birth: '.$field_dob."\n";
$body_message .= 'Contact Number: '.$field_contact."\n";
$body_message .= 'Class 12 Marks/CGPA/Percentage: '.$field_board."\n";
$body_message .= 'Graduation Marks/CGPA/Percentage: '.$field_grad."\n";
$body_message .= 'Post-Graduation Marks/CGPA/Percentage: '.$field_pgrad."\n";
$body_message .= 'Present Employer: '.$field_emplyr."\n";
$body_message .= 'Date of Joining: '.$field_doj."\n";
$body_message .= 'Designation: '.$field_desg."\n";
$body_message .= 'Current CTC: '.$field_ctc."\n";
$body_message .= 'Message: '.$field_message."\n";

$headers = 'From: '.$field_email."\r\n";
$headers .= 'Reply-To: '.$field_email."\r\n";       

$mail_status = mail($mail_to, $subject, $body_message, $headers);

if ($mail_status) { ?>
    <script language="javascript" type="text/javascript">
        alert('Your Job Application has been recieved. We will contact you shortly.');
        window.location = 'Careers.html';
    </script>
<?php
}
else { ?>
    <script language="javascript" type="text/javascript">
        alert('Message failed');
        window.location = 'Careers.html';
    </script>
<?php
}
?>

您没有传递任何内容作为附件

我在这里粘贴一个片段希望这对你有帮助

<?php
    $fileatt = "mypdffile.pdf"; // Path to the file
    $fileatt_type = "application/pdf"; // File Type
    $fileatt_name = "mypdffile.pdf"; // Filename that will be used for the file as the attachment

    $email_from = "[email protected]"; // Who the email is from
    $email_subject = "Your attached file"; // The Subject of the email
    $email_message = "Thanks for visiting mysite.com! Here is your free file.
    ";
    $email_message .= "Thanks for visiting.
    "; // Message that the email has in it

    $email_to = $_POST['email']; // Who the email is to

    $headers = "From: ".$email_from;

    $file = fopen($fileatt,'rb');
    $data = fread($file,filesize($fileatt));
    fclose($file);

    $semi_rand = md5(time());
    $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

    $headers .= "\nMIME-Version: 1.0\n" .
    "Content-Type: multipart/mixed;\n" .
    " boundary=\"{$mime_boundary}\"";

    $email_message .= "This is a multi-part message in MIME format.\n\n" .
    "--{$mime_boundary}\n" .
    "Content-Type:text/html; charset=\"iso-8859-1\"\n" .
    "Content-Transfer-Encoding: 7bit\n\n" .
    $email_message .= "\n\n";

    $data = chunk_split(base64_encode($data));

    $email_message .= "--{$mime_boundary}\n" .
    "Content-Type: {$fileatt_type};\n" .
    " name=\"{$fileatt_name}\"\n" .
    //"Content-Disposition: attachment;\n" .
    //" filename=\"{$fileatt_name}\"\n" .
    "Content-Transfer-Encoding: base64\n\n" .
    $data .= "\n\n" .
    "--{$mime_boundary}--\n";

    $ok = @mail($email_to, $email_subject, $email_message, $headers);

    if($ok) {
    echo "You file has been sent
    to the email address you specified.

    Make sure to check your junk mail!

    Click here to return to mysite.com.";

    } else {
    die("Sorry but the email could not be sent. Please go back and try again!");
    }
    ?> 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将上传的文件作为电子邮件附件发送 的相关文章

  • 将选定的日期值从 datepicker 传递到 php

    我在这里发现了类似的问题 但大多数解决方案对我不起作用 我有一个带有日期选择器的表单 我想将所选日期传递到我的 php 文件 但它似乎不起作用 我的 html 是这样的
  • 如何等待第一次画布重绘,直到 @font-face-font 加载?

    我有一个 HTML5 画布并用它编写文本context fillText 使用 font face font 使用 Firefox 3 6 显示页面我遇到问题 在画布的第一次绘制上 字体尚未下载 因此文本将以标准字体显示 我找到了一个 解决
  • 使 Knockout applyBindings 将选择选项视为数字

    我将 Knockout 与 html select option 结合使用 请参阅Fiddle http jsfiddle net hf5gb
  • HTMLPanel 中的 JavaScript

    我想在 HTMLPanel 元素中包含 Javascript 代码 但它不起作用 请你帮助我好吗 提前致谢 脚本 pro js alert hello 使用 HTMLPANEL 不起作用 不显示警报 我认为应该是相反的 HTMLPanel
  • 从自定义设置会话文件夹中删除旧会话文件?

    使用 PHP 如果我设置自定义会话文件夹来存储会话文件 我必须做什么才能确保旧会话文件最终被删除 有没有办法让 Apache 或 PHP 为我处理这个问题 或者我需要设置一些东西来自己清理这个文件夹 非常感谢有关此主题的任何信息 我目前正在
  • 使用准备好的语句的 SQL ORDER BY

    我已经尝试了该代码的所有不同类型的变体 但无法使其工作 任何人都可以指出我正确的方向吗 if isset GET s And isset GET o if strip tags htmlspecialchars GET s s sortin
  • 图表外的 JQPlot 图例

    我正在使用 JQPlot 并且在一个 HTML 页面上有很多图表 每个图表都有相同的图例 我的问题是 是否可以完全在图表之外显示图例 并在 HTML 页面或自己的 div 中拥有自己的位置 legend show true renderer
  • 如何在没有 SSH 的情况下安装/使用 Composer

    伙计们 我有一个共享主机 我无法使用 SSH 或使用 php 调用 shell shell exec 出于安全原因 我无法因资金问题升级我的服务器 但我需要安装Composer 并使用 SDK 来完成我的项目 有什么方法可以安装 使用com
  • 第二个内联块 div 上方的空白

    我确信我在这里忽略了一些东西 但无法解决 我的第二个内联块 div 上方有空白 只有当右侧 div 中的 文本此处 长度小于左侧 div 时 才会发生这种情况 js小提琴 http jsfiddle net B2S4r 2 http jsf
  • Outlook 宏中的 SenderName 为空

    我想要得到SenderName和和To属性来自于MailItem对象 但它们是空白的 我可以看到有SentOn Subject以及其他不为空的属性 有谁知道为什么这两个是空白的 这是我的代码 Sub TestMacro Dim myOlAp
  • 如何重写或设置cakePHP电子邮件组件中的返回路径?

    我正在使用 cakePHP 电子邮件组件从我的应用程序发送邮件 现在返回路径有类似的东西 电子邮件受保护 cdn cgi l email protection 使用 cakePHP 组件时 如何设置或重写电子邮件中的 Return Path
  • 以编程方式将礼品消息设置为现有订单[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在寻找一些代码 以便在 Mage
  • 如何消除页面边缘的间隙?

    我已经将主体和两个 div 的边框 内边距和边距设置为 0px 但我似乎仍然无法摆脱差距 body padding 0px border 0px margin 0px width 100 height 100vh mainPage heig
  • img设置flex-grow来填充flex容器剩余空间,它会导致flex内部溢出flex容器[重复]

    这个问题在这里已经有答案了 以下是我的代码 text1 溢出 Flex 容器 我期望 Flex 容器中的 img 文本和 img 填充 Flex 容器其余部分
  • PHP 相对于 ASP.NET 有什么优势? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何选择与绝对定位 DIV 重叠的选项?

    我有一个绝对定位的 div 它的作用类似于工具提示 当鼠标悬停在某个元素上时 它会显示 然后在鼠标移开时隐藏 我有几个
  • 从右到左打印表格单元格

    我制作了一个表格 并希望第一个单元格从右侧开始 而不是默认从左侧开始 我尝试更改 CSS 中的 float 属性 但似乎没有帮助 这是代码 table border 0 width 100 cellspacing 0 align cente
  • Laravel 模型访问器从缓存中获取 - 性能增强

    我在数据库中有一个项目列表 每个项目都可以选择被否决或赞成 这些投票与其他项目字段一起存储在 MySql 中 例如这样的事情 Schema create items function table table gt increments id
  • Eclipse 和 Zend 调试器总是在第一行中断,尽管未选中该选项

    我取消选中了在第一行中断PHP 调试配置中的选项 但无论如何它仍然在第一行中断 我怎样才能防止这种情况发生 我正在使用 MacOSX Eclipse PDT 3 0 2 和 Zend 调试器 经过大量谷歌搜索后 我找到了如何解决这个问题 可
  • 404 路由无法匹配请求的 URL

    我刚刚开始学习zend 框架 questions tagged zend framework并遵循此用户指南 http framework zend com manual 2 3 en index html 我能够成功安装zend skel

随机推荐

  • for line in File 是否读取整个文件

    以下代码是为每个循环读取一行 还是在开始迭代之前先将整个文件读入内存 for line in f print line 我的目的是从文件中读取一行 你无法确定 你所能知道的就是它会return一次一行 这Python 标准库文档 says
  • 将多行连接成一行

    我现在正在学习SQL on SQL Server 我需要将多行连接成一列 我已经寻找过示例 但没有找到可以用来满足我的需求的示例 Country ProjectTA Complexity TID Sites Inits Name Unite
  • 主机和 GPU 上 CUDA 添加的不同结果

    我有一个函数可以获取彩色图片并返回其灰色版本 如果我在主机上运行顺序代码 一切都会完美运行 如果我在设备上运行它 结果会略有不同 与正确值相比 1000 个像素中的一个像素不是 1 就是 1 我认为这与转换有关 但我不确定 这是我使用的代码
  • html5 视频标签在 Android PhoneGap 中不起作用

    我已经在 android PhoneGap 中创建了应用程序 我想使用 html5 视频播放器播放视频 我的代码是
  • 追加时返回 null 的字符串

    我的任务是创建一个猜词游戏 您只有 5 次尝试猜测该单词的机会 用户一次输入一个字母 试图找出我的秘密单词 果汁 但您应该使用提示单词构造 每次猜测都会用正确的字母替换星号 如果正确 输出应该是这样的 欢迎来到猜词游戏 您有 5 次机会尝试
  • SQL Server 2008 中从数据库到数据集的位数据类型到枚举类型的映射

    我有一个表 其中有一列Xyz它有bitSQL Server 2008 中的数据类型 我通过数据适配器从表中获取值 并将其存储在DataSet and a DataGridView将显示来自的内容DataSet 在网格视图中 对于列Xyz 显
  • 鼠标光标位图

    我试图从鼠标光标获取位图 但在下一个代码中 我无法获取颜色 CURSORINFO cursorInfo 0 cursorInfo cbSize sizeof cursorInfo if GetCursorInfo cursorInfo IC
  • 如何在resilience4j中配置retryOnResultPredicate?

    我想将failAfterMaxAttempts设置为true以在最大重试结束时获得MaxRetriesExceededException 根据文档 我们需要使用failAfterMaxAttempts设置retryOnResultPredi
  • iOS7 itms-services 方案不起作用?

    我有一个内部应用程序 通过本地 WiFi 分发 在发布页面有一个像这样的链接 itms services action download manifest url http 192 168 1 231 app plist houseApp
  • Python OpenCV 从相机流式传输 - 多线程、时间戳

    我在 Raspberry Pi 3 上运行了简单的 python 脚本 该脚本负责打开视频设备并使用 MJPEG 将数据 800x600 流式传输到 HTTP 端点 当我收到此流时 我的 Raspberry Pi 核心之一可以 100 工作
  • 打印出带有字符的 ASCII 圆和轴

    我必须打印一个圆 将其半径 圆心的坐标作为输入 cx and cy 以及绘制它所用的字符 我为轴和圆编写了一系列 if 块 如果我单独使用它们 它们会很好地工作 但是当我将它们放在同一个方法中时 我必须只有一种方法 它们会以不期望的方式重叠
  • 使用多字符分隔符将字符串拆分为数组

    我需要将一个字符串拆分为一个数组 我的问题是分隔符是 3 个字符 例如 db2 111 oracle12cR1RAC mariadb101 我需要创建以下数组 db2 111 oracle12cR1RAC mariadb101 这种方法也提
  • :属性查找 thread.lock 失败' aria-label='multiprocessing.Pool - PicklingError:无法 pickle :属性查找 thread.lock 失败'> multiprocessing.Pool - PicklingError:无法 pickle :属性查找 thread.lock 失败

    multiprocessing Pool让我发疯了 我想升级许多软件包 对于每一个软件包 我都必须检查是否有更高的版本 这是由check one功能 主要代码在Updater update方法 我创建 Pool 对象并调用map 方法 这是
  • 如何将一个值从一个jsp页面传递到另一个jsp页面?

    我有两个jsp页面 search jsp and update jsp 当我跑步时search jsp然后从数据库中获取一个值 并将该值存储在一个名为scard 现在 我想要的是在另一个 jsp 页面中使用该变量的值 我不想使用reques
  • blogdown 主页不再显示帖子目录

    我正在使用 blogdown 0 14 和稍微修改过的hugo lithium 主题 创建的博客的主页似乎已更改 它曾经是一个带有帖子目录的页面 而不是一个带有指向显示该目录的页面的链接的页面 有没有办法恢复旧的行为 一小时前提到过在推特上
  • 根据屏幕尺寸替换 HTML

    我试图在小屏幕尺寸下替换 HTML 内容 然后在窗口再次变大时替换它 我下面的代码可以工作 但是我如何让它删除更改 到目前为止 这是我的代码 window resize function if window innerWidth lt 48
  • IOCP 文档解释问题 - 缓冲区所有权歧义

    因为我不是以英语为母语的人 所以我可能会错过一些东西 所以也许这里有人比我更了解 取自WSASendMSDN 上的文档 lpBuffers 输入 指向 WSABUF 数组的指针 结构 每个WSABUF结构 包含一个指向缓冲区的指针和 缓冲区
  • Visual Studio - SharePoint 2010 - 包括程序集 > 快速问题

    我有一个简单的问题 构建 VS 2010 SharePoint 项目 并且我正在引用自定义程序集 我可以在我的代码中引用这个程序集 并且编写代码和所有内容都可以正常工作 当我将项目部署到 SharePoint 时 我的功能激活代码将不会运行
  • 在数据步骤中表达“PUT所有变量”以导出SAS数据

    目标 使用数据步骤将整个 SAS 数据集导出到制表符分隔的文本文件 问题 在我能找到的每个例子中 例如this one 必须指定 PUT 语句后面的数据步骤中的每个变量 难道没有一种简单的方法来只要求 所有 变量吗 我已经尝试过使用PUT
  • 将上传的文件作为电子邮件附件发送

    我是网页设计的新手 我需要用 HTML 创建一个表单 要求用户输入多个字段并上传他 她的简历 当他提交表格时 他的提交内容应该通过电子邮件发送给我 并附上他的简历作为电子邮件的附件 我使用 PHP 来发送电子邮件 一切正常 除了文件未附加到