2014-03-31 4 views
0

PHP를 처음 사용하고 모든 메일 양식을 구현하는 데 문제가있어 처음에는이 기능을 사용할 수 없습니다. 아래 코드는 제 코드입니다. 누군가 디버깅면에서 올바른 방향으로 나를 가리킬 수 있다면 가장 감사 할 것입니다. PHP 메일 스크립트 문제

<?php 

    $job_number   = $_POST['job_number']; 
    $completion_time = $_POST['completion_time']; 
    $email    = $_POST['email']; 

    $formcontent  = "From: $email \n \n Job Number: $job_number \n \n Completion Time: $completion_time \n"; 

    $recipient   = "[email protected]"; 
    $subject   = "Repeat Order"; 
    $mailheader   = "From: $email \r\n"; 

    mail(
      $recipient, 
      $subject, 
      $formcontent, 
      $mailheader 
    ) 
    or die(
     " 
      Error! 
     " 
    ); 

    echo( " 
       <div style='font-size:24px; margin-top: 100px; text-align: center;'> 
        Thank You! 
      " 
      . " - " . 
      "  <a href='home.html' style='color: #1ca03e;'> 
         Return Home 
        </a> 
       </div> 
      " 
    ); 

?> 

는 카메론에게,

편집을 주셔서 감사합니다 : 일부 더 많은 정보를, 그것은 오류 (나는이 짓고 있어요 친구에 따라) 전에 거기에 하나를 가지고로 서버가 PHP 메일 스크립트를 지원합니다 나는 내부 테스트를 통해 메일을 보내고 있지만 '$ formcontent'콘텐츠가 없으면 ... 제목 (별칭 : 보낸 사람 : 작업 번호 : 완료 시간 :)

편집 편집 : 여기서 도움이된다면 준비 서버입니다. (가난한 웹 디자인 때문에 저를 싫어하지 마십시오 ... 진행중인 작업입니다) http://temp.fullaf.com/cameron/rak/repeat.html

+2

어떤 오류가 발생합니까? –

+0

그리고 일부 메일 서버가 구성되어 있습니까? 일부 SMTP? – Uriziel

+0

원본 정보를 편집하려면이 정보를 포함 시켜서 죄송합니다. –

답변

1

현재 자신의 사이트에 swiftmailer 패키지를 얻을 수 있습니다 ->http://swiftmailer.org/

require_once 'swiftmailer/lib/swift_required.php'; 

function new_mail($subject, $content, $recipients, $from) 
{ 
    // Create the message 
    $message = Swift_Message::newInstance(); 

    // Give the message a subject 
    $message->setSubject($subject); 

    // Set the From address with an associative array 
    $message->setFrom($from); 

    // Set the To addresses with an associative array 
    $message->setTo($recipients); 

    // Give it a body 
    $message->setBody($content); 

    $transport = Swift_MailTransport::newInstance(); 
    $mailer = Swift_Mailer::newInstance($transport); 
    $result = $mailer->send($message); 

} 

$job_number   = $_POST['job_number']; 
$completion_time = $_POST['completion_time']; 
$email    = $_POST['email']; 

$message = "From: $email \n \n Job Number: $job_number \n \n Completion Time: $completion_time \n"; 

$recipients   = array('[email protected]' => 'Your name of choice'); 
$subject   = "Repeat Order"; 
$from    = array($email => 'Name of choice.'); 

new_mail($subject, $message, $recipients, $from); 

내가이 특정 조각을 테스트하지만, 그것을 밖으로 시도하는 FTP 서버에 액세스 할 수있는 위치에 현재 아니에요 . 어떤 문제가 있으면 알려주세요.

+0

지금 내 시험에, 감사합니다 :) –

+0

@CameronGuthrie 시도해 봤어? – Rimble

+0

예, 친구가 실제로 아무것도받지 못했다는 답장을 기다리고 있습니다. (두 버전을 서버에 밀어 넣었습니다. 하나는 없지만 하나는 서버에 넣었습니다). 작동하는 경우 답변으로 표시됩니다. :) –

1

코드가 작동하고 아무 문제없이 이메일을 전송합니다.

  1. 이메일 스팸 상자를 확인하십시오. 때로는 이메일이 스팸 상자로 이동합니다.
  2. "[email protected]"이메일 주소를 수신자 이메일로 사용하고 있습니다. 따라서 발신자 이메일 주소에 동일한 이메일 주소를 사용하지 마십시오. 발신자 이메일로 다른 이메일 주소를 사용하십시오.
  3. yahoo 및 gmail과 같은 다른 전자 메일 계정에서 전자 메일을 보낼 때 전자 메일 주소 "[email protected]"에 전자 메일이 올바르게 수신되는지 확인하십시오.
  4. 서버에 메일 서버를 올바르게 설정했는지 확인하십시오.
+0

나는 스팸 폴더를 확인하기 위해 내 친구에게 전화를 걸어 조금 더 테스트 할 것입니다. 고맙습니다, 많이 감사드립니다. (나는 그것이 작동하는 경우 답변으로 표시 할 것입니다 :) :) –