Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

CodeIgniter-Nece da salje mail. Problem Mercury, SMTP ili nesto drugo?

  • 13 odgovora
  • 4.312 pregleda

Najnovija ↓

CodeIgniter-Nece da salje mail. Problem Mercury, SMTP ili nesto drugo? 22.01.2013. u 13:06 · pre 167 meseci #1
Napravio sam formu za login i registraciju u CodeIgniter framework-u. Prilikom registracije novog korisnika potrebno je poslati mail za verifikaciju i tu nastaje problem.

Funkcija u controlleru:
Code:
 public function signup_validation()
        {
            $this->form_validation->set_rules('email', 'Email', 'required|trim|valid_email|is_unique[temp_users.email]');
            $this->form_validation->set_rules('password', 'Password', 'required|trim');
            $this->form_validation->set_rules('cpassword', 'Confirm Password', 'required|trim|matches[password]');
            
            $this->form_validation->set_message('is_unique', 'This email adress already exists!');
            
            if ($this->form_validation->run())
            {
               $this->load->model('MembersModel');
               $key = md5(uniqid());
               
               $this->email->from('[email protected]', 'Vladimir');
               $this->email->to($this->input->post('email'));
               $this->email->subject('Confirm your account');
               
               $message = "Thank you for sign up!";
               $message .= "< href='".base_url()." index.php/main/register_user/$key'>Click here </a> to confirm your registration";
               
               $this->email->message($message);
               
               if ($this->MembersModel->add_temp_user($key))
               {
                   if ($this->email->send())
                {
                   echo "The email has been sent to you";
                }
 else {
     echo "The email has not been sent to you";
 }
               }
               
               else{ 
                   echo "Could not add user into database.";
               }
            }
            
 else {
                $this->load->view('signup');
 }

}


Funkcija u modelu:
Code:
 public function add_temp_user($key)
    {
        $data = array('email' => $this->input->post('email'), 
            'password' => md5($this->input->post('password')), 'key' => $key);
        
        $this->db->insert('temp_users', $data);
        
        $query = $this->db->get('temp_users');
        
        if ($query)
        {
            return TRUE;
        }
        else
        {
            return FALSE;
        }
        
    }


Prilikom izvrsavanja skripra, uredno mi napise "The email has been sent to you" ali mail ne stize.
Da li je potrebno podesiti SMTP u php.ini? Kada ukljucim Mercury u Xampp-u, opet ista prica.

Pomoc!!!

Re: CodeIgniter-Nece da salje mail. Problem Mercury, SMTP ili nesto drugo? 22.01.2013. u 19:57 · pre 167 meseci
izmenjeno 1 put, poslednji put plus_minus 23.01.2013. u 01:55
  1. plus_minus23.01.2013. u 01:55zapis iz teksta poruke
#4
Verodostojan, ako želiš samo da testiraš to što radiš sa sve odlaznim mejlom u lokalu, pa tek kasnije da puštaš (uploaduješ skriptu) ukoliko radi korektno, ne treba ti setup mail servera već ti treba Test Mail Server Tool (ili slično tome).
A ako želiš da tvoja aplikacija ili to što radiš napušta lokalnu mrežu, to jest, da šibaš mejlove van lokala na neki mejl, onda ti treba mail server. I još što šta pre toga konfigurisano.
Ukoliko je drugo u pitanju, da bi podesio mail server u lokalu, ukoliko si npr. preko telekoma, vidi prvo sa njima, dakle, sa provajderom, šta gde i kako. Ostalo ćeš, lako.
Potpis
about:networking
Re: CodeIgniter-Nece da salje mail. Problem Mercury, SMTP ili nesto drugo? 23.01.2013. u 11:29 · pre 167 meseci #6
Citat:
Da li je potrebno podesiti SMTP u php.ini?




Mozes za testiranje google smtp da koristis, da se ne bi zezao sa instalacijom mail servera:
http://trace.adityalesmana.com...-sending-email-via-gmail-smtp/

Radi, provereno. :)

A i velika je verovatnoca da ce ti slanje mejlova raditi, ako ne dobijas nikakvu gresku na lokalhostu, i kad uploadujes skript na server...
Re: CodeIgniter-Nece da salje mail. Problem Mercury, SMTP ili nesto drugo? 23.01.2013. u 13:36 · pre 167 meseci #7
Citat:
Radi, provereno. :)

A i velika je verovatnoca da ce ti slanje mejlova raditi, ako ne dobijas nikakvu gresku na lokalhostu, i kad uploadujes skript na server...


Ne radi na zalost. Fizicki ubacije novog korisnika u bazu i nakon submitovanja pise "Your email was sent, dammit" ali fizicki ne salje mailove.
Re: CodeIgniter-Nece da salje mail. Problem Mercury, SMTP ili nesto drugo? 23.01.2013. u 14:18 · pre 167 meseci #9
Code:
public function signup_validation()
        {
            $this->form_validation->set_rules('email', 'Email', 'required|trim|valid_email|is_unique[temp_users.email]');
            $this->form_validation->set_rules('password', 'Password', 'required|trim');
            $this->form_validation->set_rules('cpassword', 'Confirm Password', 'required|trim|matches[password]');
            
            $this->form_validation->set_message('is_unique', 'This email adress already exists!');
            
            if ($this->form_validation->run())
            {
               $this->load->model('MembersModel');
               $key = md5(uniqid());
               
               if ($this->MembersModel->add_temp_user($key))
               {
                        
               $config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => 465,
'smtp_user' => '[email protected]',
'smtp_pass' => 'xxxxxxxxx',
'mailtype'  => 'html', 
'charset'   => 'iso-8859-1'

);

$this->load->library('email', $config);
$this->email->set_newline("\r\n"); /* for some reason it is needed */

$this->email->from('[email protected]', 'Aditya Lesmana Test');
$this->email->to($this->input->post('email'));
$this->email->subject('This is an email test');
$message = "Thank you for sign up!";
$message .= "< href='".base_url()." index.php/main/register_user/$key'>Click here </a> to confirm your registration";
               
               $this->email->message($message);

if($this->email->send())
{
echo 'Your email was sent, dammit';
}
else
{
    echo show_error($this->email->print_debugger());
}

}
     
 else{ 
                   echo "Could not add user into database.";
               }
            }
            
 else {
                $this->load->view('signup');
 }

}


Ovako ispise poruku "Your email was sent, dammit" ali ne posalje mail.

Elegantnije je bilo da sam napravio novu f-ju email_send() i u nju ubacio sav ovaj kod, nesto tipa:
Code:
if ($this->MembersModel->add_temp_user($key))
   {
       $this->main->email_send();
   }

ali tada javlja silne neke greske.

Kelja, ovo sto sam si mi napisao definitivno ima smisla, stvarno mi nije jasno zasto nece da radi, je**vam se celo jutro. Ovo su neke nevidljive sile...
Re: CodeIgniter-Nece da salje mail. Problem Mercury, SMTP ili nesto drugo? 23.01.2013. u 14:55 · pre 167 meseci #10
$this->email->from('[email protected]', 'Aditya Lesmana Test');

Probaj ovde da stavis pravu adresu, svoju... ne pada mi nista pametnije na pamet. :)

Citat:
Thanks it worked for me!!......and with a little tweak….i figured out how to use custom FROM email mail address rather than your primary gmail address,which you just used to get Authorize with gmail…

Any other FROM email address should be Added into your gmail account,which can be done by going to google account settings and add a new account,just add your account in it…and use that VERIFIED email address…in your script!!....Cheers!!... smile
Re: CodeIgniter-Nece da salje mail. Problem Mercury, SMTP ili nesto drugo? 24.01.2013. u 14:16 · pre 167 meseci #14
Proveri šta se koristi za slanje imejla. Ako se koristi PHP-ova funkciaj za slanje ona ne vraća poruku o grešci pa i ne može na nju da se reaguje. Ako već nije, izmeni to da seimejl šalje SMTP protokolom.
Potpis
http://pedja.supurovic.net - http://wireless.uzice.net - Besplatni .RS domeni - Mikrotik uputstva - YT9TP - OpenStreetMap Srbija
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme