【问题标题】:phpmailer received email but not attachmentphpmailer收到电子邮件但没有附件
【发布时间】:2013-03-26 02:30:56
【问题描述】:

我正在使用以下脚本来允许用户上传图片并将其通过电子邮件发送给我。我确实收到了电子邮件,但附件未包含在电子邮件中。它还将发件人电子邮件显示为 root 用户,而不是用户的电子邮件地址。请帮忙。

 <?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('info@domain.com');

$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();     

?> 

【问题讨论】:

  • 将 foreach($FILES['photo']['tmp_name'] as $photo) { 改为 foreach($_FILES['photo']['tmp_name'] as $photo)

标签: phpmailer email-attachments


【解决方案1】:

改变

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

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

【讨论】:

  • 谢谢。这有助于附件。来自电子邮件的根用户呢?有没有办法让它显示用户的电子邮件?谢谢。
猜你喜欢
  • 1970-01-01
  • 2018-06-01
  • 2013-12-26
  • 2018-12-19
  • 2019-12-23
  • 1970-01-01
  • 2016-04-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多