2015-12-22 135 views
2

我正在利用phpmailer发送电子邮件我的表单详细信息,它有一个名称字段和一个fil上传字段,并且想要附加名称和视频并使用phpmailer通过电子邮件发送,这里是我使用的示例代码。如何附加视频文件并使用phpmailer通过电子邮件发送?

HTML表单

<form action='<?php bloginfo('template_directory'); ?>/upload.php' method='post' enctype="multipart/form-data"> 
      <div class="col-md-12"> 
      <div class="inner-addon left-addon col-md-3 col-sm-12 col-xs-12" style="display : inline-block"> 
       <i class="glyphicon glyphicon-user"></i> 
       <input type="text" name="name" placeholder="Full Name" class="form-control"style="padding-left: 35px;font-size: 14px;" required/> 
      </div> 
      <div class="col-md-12" style="padding : 0px !important"> 
     <div class="inner-addon left-addon col-md-3 col-sm-12 col-xs-12" style="display : inline-block; padding:0px !imporant;" > 
     <div class="col-md-8 col-sm-8 col-xs-8" style="padding:0px;"> 
      <input id="uploadFile" class="form-control" placeholder="Choose File" disabled="disabled" style="border-radius: 4px 0px 0px 4px; background-color: #fff;"/></div> 
      <div class="col-md-4 col-sm-4 col-xs-4" style="padding:0px !important"><div class="fileUpload btn btn-primary" style="margin:0px !important; height:45px;width:100%; border-radius: 0px 4px 4px 0px; background-color:#9177ad; border : 1px solid #9177ad;"> 
      <span style="line-height: 2.428571;">Upload</span> 
      <input id="uploadBtn" name="fileToUpload" type="file" class="upload" required /> 
      </div></div> 
      </form>  

upload.php的

<?php 

    require __DIR__ . '/PHPMailer/PHPMailerAutoload.php'; 
    $name = $_POST["name"]; 
    $mail->isSMTP();          // Set mailer to use SMTP 
    $mail->Host = 'smtp.mandrillapp.com'; // Specify main and backup SMTP servers 
    $mail->SMTPAuth = true;        // Enable SMTP authentication 
    $mail->Username = '[email protected]';     // SMTP username 
    $mail->Password = 'password';       // SMTP password 
    $mail->SMTPSecure = 'tls';       // Enable TLS encryption, `ssl` also accepted 
    $mail->Port = 587; 
    $mail->setFrom('email', 'email'); 
    $mail->addAddress('[email protected]', 'name');  // Add a recipient 
    $mail->isHTML(true);         // Set email format to HTML 
    $mail->Subject = $name; 
    $mail->Body = 'hi'; 
    if (isset($_FILES['fileToUpload']) && 
     $_FILES['fileToUpload']['error'] == UPLOAD_ERR_OK) { 
      $mail->AddAttachment($_FILES['fileToUpload']['tmp_name'], 
           $_FILES['fileToUpload']['name']); 
    }    
    if(!$mail->send()) { 
      error_log('Message could not be sent.'); 
      error_log('Mailer Error: ' . $mail->ErrorInfo); 
     } else { 
      error_log('Message has been sent'); 
    } 

但问题是我不能够将视频从我的桌面连接,但鉴于,做工精细用图像和文档文件。我试图回应视频的文件类型,它什么都没有返回。所以有人可以帮助我解决这个问题。我试图回应视频的文件类型,它什么都没有返回。

+0

为了更方便的应答者,或其他有类似问题,请[编辑]添加特定问题的声明 - “它不起作用“可以假设,但*如何*它不起作用?什么错误信息或不正确的行为是特征? –

+0

避免真正通过电子邮件发送视频文件是值得的。将它放在网络服务器上并从消息中链接到它更加可靠,特别是对于支持消息中的视频的Apple Mail之类的客户端而言。 – Synchro

回答

1

在php.ini文件,确认以下设置:

memory_limit = 40M 
post_max_size = 40M 
upload_max_filesize = 40M 
file_uploads = On