Я делаю регистрацию, в которой вы указали бы только свой адрес электронной почты и имя , когда электронное письмо отправляется на проверку. Я хочу, чтобы пароль был случайным сгенерированным, и это будет отправлено пользователю по электронной почте, как можно я это сделатьCodeigniter отправить пароль по электронной почте
вот мой контроллер:
public function register() {
$this->form_validation->set_rules('fname', 'First Name', 'required');
$this->form_validation->set_rules('lname', 'Last Name', 'required');
$this->form_validation->set_rules('email', 'E-mail', 'required|valid_email');
if ($this->form_validation->run() == TRUE) {
$registration_data = array(
'user_firstname' => $this->input->post('fname'),
'user_lastname' => $this->input->post('lname'),
'user_email' => $this->input->post('email'),
'user_password' =>md5(rand(0, 50)),
'user_status' => '0',
'hash' => md5(rand(0, 1000))
);
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'ssl://smtp.gmail.com';
$config['smtp_port'] = '465';
$config['smtp_user'] = 'sampleemail';
$config['smtp_pass'] = 'samplepass';
$config['mailtype'] = 'html';
$config['charset'] = 'iso-8859-1';
$config['wordwrap'] = TRUE;
$config['newline'] = "\r\n"; //use double quotes
$this->email->initialize($config);
$address = $this->input->post('email');
$this->user_model->insert_customer($registration_data);
$this->load->library('email'); //load email library
$this->email->from('sampleemail', 'Site'); //sender's email
$subject="Welcome!"; //subject
$message= /*-----------email body starts-----------*/
'Thanks for signing up, '.$_POST['fname'].'!
Your account has been created.
Here are your login details.
-------------------------------------------------
Email : ' . $_POST['email'] . '
Password: ' . $_POST['password'] . '
-------------------------------------------------
Please click this link to activate your account:
' . base_url() . 'user/verify?' .
'email=' . $_POST['email'] . '&hash=' . 'hash';
/*-----------email body ends-----------*/
$this->email->to($address);
$this->email->subject($subject);
$this->email->message($message);
$this->email->send();
}
я думаю, что его проблема, что пароль не посылает пользователю
что это не делает, что вы ожидаете делать? Где проблема? Вы видите какой-либо выход ошибки? У вас есть ошибки? Кроме того, пунктуация - ваш друг. – Ethan22
пароль не отправляется по электронной почте –
Это довольно плохая практика с точки зрения безопасности. Вы должны только отправить им ссылку, содержащую одноразовый токен, в форму, где они могут установить новый пароль. – CBroe