2014-10-20 3 views
0

최근에 도메인과 호스팅을 구입했습니다. 또한 웹 페이지에 문의 양식이 작성되었습니다. 사용자가 문의 양식의 텍스트 영역에 글을 쓰고 을 클릭하고을 제출하면 메시지가 내 Gmail 계정으로 전송되어 해당 메시지에도 회신 할 수 있습니다. 또한이 스크립트를 사용하여 작동하지만 작동하지 않습니다.php 문의 양식을 통한 메일 송수신

이다 sendemail.php 파일

<?php 
    header('Content-type: application/json'); 
    $status = array(
     'type'=>'success', 
     'message'=>'Thank you for contact us. As early as possible we will contact you ' 
    ); 

    $name = @trim(stripslashes($_POST['name'])); 
    $email = @trim(stripslashes($_POST['email'])); 
    $subject = @trim(stripslashes($_POST['subject'])); 
    $message = @trim(stripslashes($_POST['message'])); 

    $email_from = $email; 
    $email_to = '[email protected]';//replace with your email 

    $body = 'Name: ' . $name . "\n\n" . 'Email: ' . $email . "\n\n" . 'Subject: ' . $subject . "\n\n" . 'Message: ' . $message; 

    $success = @mail($email_to, $subject, $body, 'From: <'.$email_from.'>'); 

    echo json_encode($status); 
    die; 

의 index.php

<div class="contact" id="contact"> 
      <div class="container-3x"> 

       <div class="block-header"> <!-- Blocks Header --> 
        <h2 class="title">Contact Us</h2> 
       </div> 

       <div class="block-content"> <!-- Blocks Content --> 

        <form action="sendemailphp" method="post" class="trigger-form-animate"> 
         <input type="text" value="" id="name" name="name" placeholder="Name *" /> 
         <input type="text" value="" id="email" name="email" placeholder="Email *" /> 
         <input type="text" value="" id="website" name="website" placeholder="Website *" /> 
         <textarea type="text" value="" id="message" name="message" rows="3" placeholder="Your Message *" ></textarea> 
         <div class="clr"></div> 
         <button>Submit Message</button> 
        </form> 

       </div> 

      </div> 

     </div> 

나는 또한 시도했다 "http://www.mybloggertricks.com/2012/06/connect-your-website-email-address-to.html"이 튜토리얼 내 연락처 양식 코드 하지만 작동하지 않습니다. "Gmail을 통해 전송 (설정이 용이함)"다른 계정을 추가 할 때 gmail에서이 옵션을 찾을 수 없습니다.

어떻게 할 수 있습니까 ?? Plzz

+1

억제 오류 @'사용하여 원인을 도와'하지 않습니다 [** 그들에 대한 검사 **] (http://php.net/ manual/en/function.error-reporting.php)를 사용하십시오. –

+0

네,'@'를 제거하고'error_reporting (E_ALL);과'display_errors (1);'을 사용하자'var_dump ($ success);'true 또는 false입니까? – vaso123

+0

남자들은 PHP에 대해 많이 모른다. http://shapebootstrap.net/item/evento-free-music-event-template/에서 sendemail.php 파일을 가지고있는 evento 템플릿을 다운로드했다. 나는 이메일 주소를 내 이메일로 바꿨고이 파일을 다른 템플릿에서 사용하여 내 서버에 파일을 업로드했지만 메시지를 제출할 때 "성공"을 표시했지만 Gmail 계정에는 아무런 메시지도받지 못했습니다. –

답변

3

을 작동합니다. 예 : <input type="text" name="subject">. 바꾸기 중 하나를 추가하십시오.

당신은 그러나이 조건문
(는 예를에 대한 더 아래 참조)를 사용하여 작성되어 있는지 확인해야합니다.

$subject = @trim(stripslashes($_POST['subject'])); 

$subject = "Form submission"; 

와 함께 당신은 대신 양식이를 추가 할 수

<input type="hidden" name="subject" value="Form submission"> 

어느 쪽이 나 제가 작동 바로 위에서 설명한 것입니다.

많은 이메일 클라이언트가 스팸에 메일을 보내거나 "제목"이 누락 되어도 코드에서 누락 된 경우이를 모두 거부합니다. 피사체가 예를 충전 한 경우

확인 :

if(isset($_POST['subject']) && !empty($_POST['subject'])){ 

// do someting 

} 
+0

sry broz dz z working not ... :-( –

+0

@RaunakHajela 열기 전에'>);'$ success = mail로 변경한다. ($ email_to, $ subject, $ body, 'From : <'. $ email_from.>>);'@ 기호를 제거하십시오. 코드에서 @ 기호를 모두 제거하는 동안 –

+0

을 @ 이름, 전자 메일에서 제거해야합니까? & 메시지를 제목과 동일하게 사용 하시겠습니까? –

0

이 시도 HLP, 모두 당신이 메일이 실패하고 아주 잘 대신 스팸 메일로 전송 될 수 있습니다 이유를 설명 할 수있는 이름 subject 폼 요소가없는

<?php 
    $to = "[email protected]"; 
    $subject = "Welcome to"; 
    $message = " Hi $username,<br /><br /> 
    Thank you for signing up with us.<br /> 

    Thanks <br />"; 
    // Always set content-type when sending HTML email 
    $headers = "MIME-Version: 1.0" . "\r\n"; 
    $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; 
    // More headers 
    $headers .= 'From: <[email protected]>' . "\r\n"; 
    $mail=mail($to,$subject,$message,$headers); 
    if($mail) 
    { 
    $to = "[email protected]"; 

    $subject = "Following Customer Signed Up"; 
    $message = " $username,Customer is signed up with us,<br /><br /> 
    Customer Details:<br />First Name:$firstname<br/>Last Name:$lastname<br/>Email:$email<br/> 
    Phone:$phone<br/>Zip Code:$zip<br/>Message:$message_cust<br/><br/><br/> 
    Thanks <br />"; 
    // Always set content-type when sending HTML email 
    $headers = "MIME-Version: 1.0" . "\r\n"; 
    $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; 
    // More headers 
    $headers .= 'From: <[email protected]>' . "\r\n"; 
    $mail=mail($to,$subject,$message,$headers); 
    } 
    ?> 
+0

sry bro ds z도 작동하지 않습니다 ... [email protected] 및 [email protected]이란 무엇입니까? –

+0

나는 우편물 ID를 샘플 목적으로 제공했다. 코드를 테스트하는 동안 올바른 이메일 ID로 변경해야한다. –

+0

브로 와트는 [email protected]이 텍스트 필드 또는 임의의 전자 메일로 작성된 전자 메일이라는 것을 의미합니다. ?? –

관련 문제