上传文件并用PHP发送电子邮件?

上传文件并用PHP发送电子邮件?,php,html,email-attachments,Php,Html,Email Attachments,上传文件的最简单方法是什么:并通过电子邮件发送到“12345@email.com“我研究过,但发现了超复杂的代码和东西。我需要它作为附件发送。在PHP中。以下是我目前掌握的代码: <?php ## CONFIG ## # LIST EMAIL ADDRESS $recipient = "my email Here"; # SUBJECT (Contact Form/Remove) $subject = "Volunteer Form"; # RESULT PAGE $locatio

上传文件的最简单方法是什么:
并通过电子邮件发送到“12345@email.com“我研究过,但发现了超复杂的代码和东西。我需要它作为附件发送。在PHP中。以下是我目前掌握的代码:

<?php

## CONFIG ##

# LIST EMAIL ADDRESS
$recipient = "my email Here";

# SUBJECT (Contact Form/Remove)
$subject = "Volunteer Form";

# RESULT PAGE
$location = "thank_you.html";

## FORM VALUES ##

# SENDER
$email = $_REQUEST['email'] ;

# MAIL BODY
$body .= "First Name: ".$_REQUEST['first_name']." \n";

$body .= "Last Name: ".$_REQUEST['last_name']." \n";

$body .= "Email: ".$_REQUEST['email']." \n";

$body .= "Volunteer Choice: ".$_REQUEST['dropdown']." \n";

$body .= "Questions: ".$_REQUEST['comments']." \n";
# add more fields here if required

## SEND MESSGAE ##

使用html表单并添加标记
,然后您可以像这样在PHP中处理文件:

<?php

$file = $_FILES['uploaded'];
if (move_uploaded_file($file['tmp_name'], $destination)) {
// do something
}
// do something

?>

我不能写一个庞大的代码,这应该是一个推动你开始!这里有一个快速的例子。现在要附加它,您可以将其作为ajax请求发送到服务器,存储文件的路径,然后在发送电子邮件时再次从数据库中提取路径。

下载类并尝试此操作

<html>
<head>
<title>PHPMailer - Mail() basic test</title>
</head>
<body>

<?php

require_once('class.phpmailer.php');

$mail = new PHPMailer();     
$mail->SetFrom('name@yourdomain.com', 'First Last');
$mail->AddReplyTo("name@yourdomain.com","First Last");

$address = "12345@email.com";
$mail->AddAddress($address, "John Doe");

$mail->Subject    = "PHPMailer Test Subject via mail()";

$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional

$mail->MsgHTML($body);

move_uploaded_file($_FILES["file"]["tmp_name"],$destination);

$mail->AddAttachment("$destination");  //Your attachment
//$mail->AddAttachment("images/phpmailer.gif");      // attachment
//$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment

if(!$mail->Send()) {
  echo "Mailer Error: " . $mail->ErrorInfo;
} else {
  echo "Message sent!";
}

?>

</body>
</html>

PHPMailer-Mail()基本测试
  • 这是PHPMailer类中的一个示例

写一些代码,当你陷入困境时,再问。不要指望别人会为你写。对不起,我以为我添加了新的部分,请等待一个secUse PHPMailer或Swiftmailer来完成实际的邮件部分。创建自己的MIME电子邮件是一件痛苦的事情,而且非常容易出错。这种方法对漏洞有用吗$附件=区块分割(base64编码(文件获取内容($\u文件['file']['tmp\u名称]]))$filename=$\u文件['file']['name'];