0

メールの送信に 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 = "someonelse@example.com";
    $headers = "From:" . $from;
    mail($to,$subject,$message,$headers);
4

2 に答える 2

0

交換してみてください

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

于 2013-02-28T09:19:00.343 に答える
0

Google SMTP を使用することをお勧めします

構成フォルダー「email.php」に構成ファイルを作成します

$config['protocol'] = 'smtp';
$config['smtp_host'] = 'ssl://smtp.googlemail.com';
$config['smtp_port'] = '465';
$config['smtp_timeout'] = '30';
$config['smtp_user'] = 'youremail@gmail.com';
$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();
于 2013-02-28T09:15:31.667 に答える