2013-03-26 84 views
0

我正在使用下面的脚本来允许用户上传图像并将它发送给我。我确实收到了电子邮件,但附件未包含在电子邮件中。它还以root用户身份显示来自电子邮件,而不是用户的电子邮件地址。请帮忙。phpmailer收到电子邮件,但没有附件

<?php 
ob_start(); 
require("class.phpmailer.php"); 

$salutation  = $_POST['salutation']; 
    $firstname   = $_POST['firstname']; 
    $lastname   = $_POST['lastname']; 
    $email    = $_POST['email']; 
    $photo    = $_FILES['photo']; 

isset($_POST['submit']); 
$active_keys = array(); 
foreach($_FILES[$photo]['name'] as $key => $filename) 
{ 
if(!empty($filename)) 
{ 
    $active_keys[] = $key; 
} } 

foreach($active_keys as $key) 
{ switch(exif_imagetype($_FILES[$photo]['tmp_name'][$key])) { 
case IMAGETYPE_JPEG: 
case IMAGETYPE_PNG: 
    break; 
default: 
    echo "{"; 
    echo  "error: 'This is no photo..'\n"; 
    echo "}"; 
    exit(0); 
} } 
$message = "Photo submitted by: $salutation $firstname $lastname. <br>Comments: $comments.<br>terms:$terms."; 

$mail = new PHPMailer(); 

$mail->From  = ($email); 
$mail->AddAddress('[email protected]'); 

$mail->Subject = "Submitted Photos"; 
$mail->Body  = $message; 
$mail->WordWrap = 50; 

foreach($FILES['photo']['tmp_name'] as $photo) { 
if(!empty($photo)) { 
    $mail->AddAttachment($photo); 
}} 

$mail->Send(); 

header("Location: thankyou.php"); 
    exit();  

?> 
+0

变化的foreach($ FILES [ '相片'] [ 'tmp_name的值']为$相片){到的foreach($ _ FILES ['照片'] ['tmp_name'] as $ photo) – 2013-03-26 02:35:00

回答

0

变化

foreach($FILES['photo']['tmp_name'] as $photo) { 

foreach($_FILES['photo']['tmp_name'] as $photo) 
+0

谢谢。这对附件有帮助。来自电子邮件的Root用户呢?有没有办法让它显示用户的电子邮件?谢谢。 – 2013-03-26 05:03:20

相关问题