2016-06-27 4 views
1

저는 문의 양식이있는 웹 사이트에서 작업했습니다. 첨부 파일이 우편으로 발송되지 않는 것을 제외하면 모든 것이 잘 작동합니다.PHPMailer 첨부 파일

(그리고 이것은, 내가이 끔찍한 서식 나는이 웹 사이트에 질문을 처음으로 사과하고, 사전에 감사합니다)

<? php 
require_once 'phpmailer/PHPMailerAutoload.php'; 

if (isset($_POST['name'])) { 
    $name = $_POST['name']; 
} 
if (isset($_POST['email'])) { 
    $email_address = $_POST['email']; 
} 
if (isset($_POST['phone'])) { 
    $phone = $_POST['phone']; 
} 
if (isset($_POST['comment'])) { 
    $message = $_POST['comment']; 
} 

$body_message = '<p>You have a new message from your website contact form.</p> </br> </br> <p> Here are the deatils:</p> </br> </br> <p>Name: </p>'.$name. 
'<p>Email: </p>'.$email_address. 
'<p>Phone: </p> '.$phone. 
'</br> <p>Message: </p> </br>'.$message; 


$mail = new PHPMailer; 
$mail - > IsSMTP(); 
$mail - > Host = 'mail.ronaldtest.com'; 
$mail - > Username = '[email protected]'; 
$mail - > Password = '151588'; 
$mail - > Port = 587; 
$mail - > addAddress('[email protected]'); 

$mail - > setFrom('[email protected]', 'Brighten Management Auto Mailer'); 

$mail - > Subject = 'Website Contact Form: $name'; 
$mail - > Body = $body_message; 

if (isset($_FILES['attachmentFile']) && $_FILES['attachmentFile']['error'] == UPLOAD_ERR_OK) { 
    $mail - > AddAttachment($_FILES['attachmentFile']['tmp_name'], 
    $_FILES['attachmentFile']['name']); 
} 


$mail - > IsHTML(true); 


if ($_POST["submit"]) { 
    if (!$_POST['name']) { 
    $error = "<br />Please enter your name"; 
    } 
    if (!$_POST['email']) { 
    $error. = "<br />Please enter your email address"; 
    } 
    if (!$_POST['phone']) { 
    $error. = "<br />Please enter your phone number"; 
    } 
    if (!$_POST['comment']) { 
    $error. = "<br />Please enter a comment"; 
    } 
    if ($error) { 
    $result = '<div class="alert alert-danger" There were error(s) 
      in your form: '.$error. 
    '</div>'; 
    } else { 
    if (!$mail - > Send()) { 
     $result = '<div class="alert alert-danger">Sorry, there was 
        an error sending your message. Please try again later.</div>'; 
    } else { 
     $result = '<div class="alert alert-success">Thank you, <strong>'.$_POST['name']. 
     '</strong>! I will be in touch!</div';; 
    } 
    } 
} 


?> 
<section id="contact"> 

    <? php include ('email.php'); ?> 

    <div class="container"> 
    <div class="row"> 
     <div class="col-md-12 col-sm-12 col-xs-12"> 
     <div class="feature_header text-center"> 
      <h3 class="feature_title">Keep In <b>touch</b></h3> 
      <h4 class="feature_sub">Contact us for future improvements</h4> 
      <div class="divider"></div> 
      <?php if (isset($result)){ echo $result; } ?> 
     </div> 
     </div> 

     <div class="row"> 
     <div class="contact_full"> 

      <form method="post"> 
      <div class="col-md-6 left"> 
       <div class="left_contact"> 
       <div class="control-group"> 
        <div class="form-level controls"> 
        <input type="text" name="name" class="input-block" placeholder="Your Name" value="<?php 
              if (isset($_POST[" name "])){ 
               echo $_POST['name']; }?>"/> 
        <span class="form-icon fa fa-user"></span> 
        </div> 

       </div> 

       <div class="control-group"> 
        <div class="form-level controls"> 
        <input type="email" name="email" class="input-block" placeholder="Your Email" value="<?php 
              if (isset($_POST[" email "])){ 
               echo $_POST['email']; }?>" /> 
        <span class="form-icon fa fa-envelope-o"></span> 
        </div> 
       </div> 

       <div class="control-group"> 
        <div class="form-level controls"> 
        <input type="phone" name="phone" class="input-block" placeholder="Your Phone Number" value="<?php 
              if (isset($_POST[" phone "])){ 
               echo $_POST['phone']; }?>" /> 
        <span class="form-icon fa fa-phone"></span> 
        </div> 

       </div> 

       </div> 
      </div> 

      <div class="col-md-6 right"> 
       <div class="control-group"> 
       <div class="form-level controls"> 
        <input type="file" name="attachmentFile" id="attachmentFile" value="<?php echo $_FILES['attachmentFile']['tmp_name'] ?>" /> 
        <span class="fa fa-file"></span> 
       </div> 
       </div> 
       <div class="control-group"> 
       <div class="form-level controls"> 
        <textarea class="textarea-block" name="comment" rows="4" value="<?php 
              if (isset($_POST[" comment "])){ 
               echo $_POST['comment']; }?>"></textarea> 
        <span class="form-icon fa fa-pencil"></span> 
       </div> 
       </div> 
      </div> 

      <div class="col-md-12 text-center"> 

       <input type="submit" name="submit" class="btn btn-main featured" value="Submit Now" /> 
      </div> 

      </form> 

     </div> 
     </div> 


    </div> 
    </div> 
</section> 
+0

무엇이 발생합니까? 오류가 있습니까? 메시지? 다른 단서들? –

+0

다음 번에 PHPMailer와 함께 제공되는 예제를 살펴보십시오. 선택한 대답으로 즉각적인 문제가 해결되지만 업로드를 안전하게 처리하지 못하므로 예제를 읽으십시오. – Synchro

답변

0

에 대한 다음은 HTML과 PHP 파일입니다 양식을 업로드하려면 양식 태그에 enctype="multipart/form-data"이 있어야합니다. 그래서 귀하의 경우 :

<form method="post" enctype="multipart/form-data"> 
+0

정말 고마워요! –

관련 문제