2013-02-28 3 views
0

메일 전송에 CodeIgniter를 사용하고 있습니다. 데이터는 컨트롤러로 보내지 만 문제는 코딩에 있습니다.CodeIgniter에서 메일 기능이 작동하지 않습니다.

스크립트 사용 :

$(".alert_button").click(function(){  
    var emailmy= $("#emailmy").val(); 
    $.ajax({ 
      url: "<?php echo site_url('home/ForgotEmailValidation'); ?>", 
      data: { 
       emailmy: emailmy 

      }, 
     // context: document.body, 
      success: function(ret) 
      { 
       if(ret=="0") 
       { 
        $(".login_alert").show(); 
        $(".login_ok").hide(); 
        $('#emailmy').focus(); 
        return false; 
       } 
       else 
       { 

         $.post("<?php echo site_url('home/ForgotPasswordMail');?>",{emailmy:emailmy},function(data){ 

        }); 

        $(".login_ok").show(); 
        $(".login_alert").hide(); 

        return true; 
       } 

      } 
    }); 

});

컨트롤러 :

//$randomString is used for send random string. 

$characters = 'abcdefghijklmnopqrstuvwxyz'; 
    $randomString = ''; 
    for ($i = 0; $i < 20; $i++) { 
     $randomString .= $characters[rand(0, strlen($characters) - 1)]; 
    } 

    $to = $emailMY; 
    $subject = "Reset your password on Pictraveler"; 
    $message = "Thank you for using Pictraveler.com.<br/>Please go to this page to create your new password.<br/>The link will expire in 24 hours.<br/>[Reset Password]<br/><a herf='http://133.242.3.198/resetpassword/$randomString'>http://www.pictraveler.com/resetpassword?$randomString</a>"; 
    $from = "[email protected]"; 
    $headers = "From:" . $from; 
    mail($to,$subject,$message,$headers); 
+0

로컬로 바꾸시겠습니까 ?? 그렇다면 SMTP를 사용하십시오 ... swiftmailer가 많이 도움이 될 것입니다. –

+0

no. 서버에서 실행 중 –

+0

메일을 보내려고 할 때 모든 매개 변수가 점점 커지고 있는지 확인하십시오. 또는 어떤 오류가 나고 있는지 게시하십시오. –

답변

0

를보다 효율적으로 사용하는 구글 SMTP

당신의 config 폴더 'email.php로'

$config['protocol'] = 'smtp'; 
$config['smtp_host'] = 'ssl://smtp.googlemail.com'; 
$config['smtp_port'] = '465'; 
$config['smtp_timeout'] = '30'; 
$config['smtp_user'] = '[email protected]'; 
$config['smtp_pass'] = 'yourpassword'; 
$config['charset'] = 'utf-8'; 
$config['newline'] = "\r\n"; 

에서 설정 파일을 생성하고이 방식으로 컨트롤러에 이메일을 보내

$this->email->clear(TRUE); 
$this->email->set_mailtype("html"); 
$this->email->from($mailFrom, $mailFromName); 
$this->email->to($toEmail); 
$this->email->subject($emailSubject); 
$this->email->message($emailContent); 
$this->email->send(); 
0

시도해보십시오

$headers = "From:" . $from;
$headers = "-f:" . $from;

+0

나는 메일 ($ to, $ subject, $ message, $ headers) 근처에서 뭔가 잘못되었다고 생각한다. –

+0

이 대답은 잘못되었습니다.'mail()'문서와 헤더의 예상 포맷을 읽어보십시오. – andr

관련 문제