Auto send email with generated password

...συζητήσεις περί τεχνολογίας για hardware, software, υπηρεσίες, κλπ (για ubuntu ... στο Γενικά)

Συντονιστές: Geochr, ubuderix

Auto send email with generated password

Δημοσίευσηαπό theodore_1986 » 08 Οκτ 2011, 17:01

Καλημέρα σε ολη την κοινοτητα. Θελω οταν ενας χρηστης κανει registration στο site μου να του αποστελλεται ενας κωδικος τυχαιος στο e-mail που ειχε δηλωσει στην φορμα εγγραφης και στην συνεχεια ο χρηστης να εχει την δυνατοτητα αν θελει στο μελλον να τον αλλαξει αυτο τον κωδικο

Πως γινετε αυτο?


!

Μήνυμα ενημέρωσης προς τον/την theodore_1986

Σε παρακαλούμε να διαβάσεις τις οδηγίες προς νεοεισερχόμενους προσεκτικά. Είναι σημαντική η προσάρτηση της υπογραφής με τα χαρακτηριστικά του υπολογιστή σου hardware id (πχ [10ec:8168]), έτσι ώστε να δίνονται συγκεκριμένες πληροφορίες όταν πρόκειται για επίλυση ενός προβλήματός σου. Οι αλλαγές μπορούν να γίνουν από τον πίνακα ελέγχου αλλά και με το αυτόματο script που θα το βρεις παρακάτω.
Αυτόματο script υπογραφής
1 Linux: Μέτριο ┃ Προγραμματισμός: Μέτριο ┃ Αγγλικά: Λιγα
2 Ubuntu 11.04 natty 32bit (en_US.UTF-8), Windows 7
3 Intel Core2 CPU 4400 2.00GHz ‖ RAM 2010 MiB ‖ Gigabyte P35-DQ6
4 nVidia G86 [GeForce 8500 GT] [10de:0421] (rev a1)
theodore_1986
babeTUX
babeTUX
 
Δημοσιεύσεις: 10
Εγγραφή: 24 Αύγ 2011, 20:48
Εκτύπωση

Re: Auto send email with generated password

Δημοσίευσηαπό ALdaperan » 08 Οκτ 2011, 17:30

Μεταφέρθηκε στην κατάλληλη ενότητα

Γνώσεις ⇛ Linux: Μέτριος | Προγραμματισμός: C | Αγγλικά: Μέτρια
Ubuntu 12.10 quantal 3.5.0-18-generic 32bit (en_US.UTF-8),
Intel Core2 Duo CPU E8400 3.00GHz ‖ RAM 2016 MiB ‖ ASUS INC. P5Q
AMD nee ATI RV770 [Radeon HD 4850] [1002:9442]
eth0: Atheros Inc. AR8121/AR8113/AR8114 Gigabit or Fast Ethernet [1969:1026] (rev b0)
Οδηγοί - How to - Tutorials | Οδηγοί Video | Οδηγίες για Αρχάριους στο Ubuntu | Γιατί το Linux είναι καλύτερο
Άβαταρ μέλους
ALdaperan
powerTUX
powerTUX
 
Δημοσιεύσεις: 2686
Εγγραφή: 27 Μαρ 2010, 21:07
Εκτύπωση

Re: Auto send email with generated password

Δημοσίευσηαπό medigeek » 08 Οκτ 2011, 17:42

Καλημέρα. :)
1. Πού είναι εγκατεστημένη η ιστοσελίδα; Υπάρχει σε κάποιο domain; Δώσε μας το link.
2. Χρησιμοποιείς κάποιο πρόγραμμα CMS ή για blog, όπως Joomla ή Wordpress για την ιστοσελίδα; Αν ναι, τότε κάτι σαν αυτό που ζητάς ήδη υπάρχει στο Wordpress / Joomla.
3. Αν όχι (στο 2), είναι δική σου δημιουργία σε γλώσσα προγραμματισμού όπως PHP; Σε ποια γλώσσα;
4. Έχεις δοκιμάσει κάποιες λύσεις; Έχεις ψάξει στο google; Τι δοκίμασες και τι αποτέλεσμα είχαν οι λύσεις που βρήκες;
5. Δώσε μας τον κώδικα ή ανέβασε το κάπου υπό ελεύθερη άδεια, όπως http://www.github.com http://www.sourceforge.net κτλ. Έχεις περισσότερες πιθανότητες κάποιος να σε βοηθήσει, μιας και ζητάς βοηθεια από μέλη ενός φόρουμ ΕΛ/ΛΑΚ (Ελεύθερο λογισμικό / Λογισμικό Ανοικτού Κώδικα)
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Auto send email with generated password

Δημοσίευσηαπό theodore_1986 » 08 Οκτ 2011, 18:03

Εχεις δικιο. Συγνωμη. Σε Joomla είναι το site μου. Απλα αν εχει καποιος κανενα υποψην component που κανει αυτη την δουλεια.

Και παλι σας ευχαριστω για την αμεση ανταποκριση. :)
1 Linux: Μέτριο ┃ Προγραμματισμός: Μέτριο ┃ Αγγλικά: Λιγα
2 Ubuntu 11.04 natty 32bit (en_US.UTF-8), Windows 7
3 Intel Core2 CPU 4400 2.00GHz ‖ RAM 2010 MiB ‖ Gigabyte P35-DQ6
4 nVidia G86 [GeForce 8500 GT] [10de:0421] (rev a1)
theodore_1986
babeTUX
babeTUX
 
Δημοσιεύσεις: 10
Εγγραφή: 24 Αύγ 2011, 20:48
Εκτύπωση

Re: Auto send email with generated password

Δημοσίευσηαπό medigeek » 09 Οκτ 2011, 02:05

Ψάχνεις για "joomla add user registration field" http://forum.joomla.org/viewtopic.php?f=304&t=256045
Μπορείς να επεξεργαστείς και το email http://forum.joomla.org/viewtopic.php?p=2479974 - http://forum.joomla.org/viewtopic.php?p=1242032 - http://manchumahara.com/2010/03/18/how- ... istration/ (δεν τα δοκίμασα)
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Auto send email with generated password

Δημοσίευσηαπό theodore_1986 » 09 Οκτ 2011, 10:23

medigeek έγραψε:Ψάχνεις για "joomla add user registration field" http://forum.joomla.org/viewtopic.php?f=304&t=256045
Μπορείς να επεξεργαστείς και το email http://forum.joomla.org/viewtopic.php?p=2479974 - http://forum.joomla.org/viewtopic.php?p=1242032 - http://manchumahara.com/2010/03/18/how- ... istration/ (δεν τα δοκίμασα)


Σε ευχαριστω πολυ φιλε μου για την απαντηση σου :)

Εγω δεν θελω η user registration να εχει extra fields αλλα να υλοποιησω καπως την δυνατοτητα οταν ο χρηστης κανει εγγραφη να του στελνετε αρχικα στο e-mail του ενας τυχαιος κωδικος και στην συνεχεια αν θελει ο ιδιος να μπορει να τον αλλαξει στον μελλον. :)

Σε ευχαριστω :)
1 Linux: Μέτριο ┃ Προγραμματισμός: Μέτριο ┃ Αγγλικά: Λιγα
2 Ubuntu 11.04 natty 32bit (en_US.UTF-8), Windows 7
3 Intel Core2 CPU 4400 2.00GHz ‖ RAM 2010 MiB ‖ Gigabyte P35-DQ6
4 nVidia G86 [GeForce 8500 GT] [10de:0421] (rev a1)
theodore_1986
babeTUX
babeTUX
 
Δημοσιεύσεις: 10
Εγγραφή: 24 Αύγ 2011, 20:48
Εκτύπωση

Re: Auto send email with generated password

Δημοσίευσηαπό medigeek » 09 Οκτ 2011, 10:40

Καλά, αυτό για το πρώτο link. Τα υπόλοιπα links όμως σε αφήνουν να αλλάξεις τον κώδικα αποστολής του email :)
έγραψε:
"Both the activation mail and the welcome mail are sent from components/com_user/controller.php in the function _sendMail.


Ποια έκδοση joomla έχεις;
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Auto send email with generated password

Δημοσίευσηαπό theodore_1986 » 09 Οκτ 2011, 17:37

Την 1.5.23
1 Linux: Μέτριο ┃ Προγραμματισμός: Μέτριο ┃ Αγγλικά: Λιγα
2 Ubuntu 11.04 natty 32bit (en_US.UTF-8), Windows 7
3 Intel Core2 CPU 4400 2.00GHz ‖ RAM 2010 MiB ‖ Gigabyte P35-DQ6
4 nVidia G86 [GeForce 8500 GT] [10de:0421] (rev a1)
theodore_1986
babeTUX
babeTUX
 
Δημοσιεύσεις: 10
Εγγραφή: 24 Αύγ 2011, 20:48
Εκτύπωση

Re: Auto send email with generated password

Δημοσίευσηαπό medigeek » 09 Οκτ 2011, 21:36

Όταν ο χρήστης εγγραφεί, του σταλεί το "confirmation email", κάνει confirm από το email και τότε νομίζω αποστέλλεται το λεγόμενο "welcome email". Το function register_save() καλείται κατά την αποστολή του "welcome email":
Αρχείο: components/com_user/controller.php
Κώδικας: Επιλογή όλων
/**
* Save user registration and notify users and admins if required
* @return void
*/
function register_save()
[...]
// Send registration confirmation mail
$password = JRequest::getString('password', '', 'post', JREQUEST_ALLOWRAW);
$password = preg_replace('/[\x00-\x1F\x7F]/', '', $password); //Disallow control chars in the email
UserController::_sendMail($user, $password);


Αν γνωρίζεις από php, θα μπορέσεις να κάνεις αυτό που θέλεις. :)
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Auto send email with generated password

Δημοσίευσηαπό theodore_1986 » 10 Οκτ 2011, 21:28

Θελω πραγματικα να σας ευχαριστησω ολους σας για την υποστηριξη σας. Προς το παρον ακομα δεν εχω εφαρμοση αυτο που λες γιατι δεν εχω προσβαση στο cpanel. Οταν πληκτρολογω τα σωστα στοιχεια του λογαριασμου τοτε μου εμφανιζει μια λευκη οθονη και δεν ξερω τι να κανω για να το λυσω. Εστειλα και στο φορουμ της εταιρειας αλλα δεν ασχοληθηκαν μαζι μου γιατι ειναι free host γι αυτο :(

edit post:

Κώδικας: Επιλογή όλων


function register_save()
{
global $mainframe;

// Check for request forgeries
JRequest::checkToken() or jexit( 'Invalid Token' );

// Get required system objects
$user = clone(JFactory::getUser());
$pathway =& $mainframe->getPathway();
$config =& JFactory::getConfig();
$authorize =& JFactory::getACL();
$document =& JFactory::getDocument();

// If user registration is not allowed, show 403 not authorized.
$usersConfig = &JComponentHelper::getParams( 'com_users' );
if ($usersConfig->get('allowUserRegistration') == '0') {
JError::raiseError( 403, JText::_( 'Access Forbidden' ));
return;
}

// Initialize new usertype setting
$newUsertype = $usersConfig->get( 'new_usertype' );
if (!$newUsertype) {
$newUsertype = 'Registered';
}

// Bind the post array to the user object
if (!$user->bind( JRequest::get('post'), 'usertype' )) {
JError::raiseError( 500, $user->getError());
}

// Set some initial user values
$user->set('id', 0);
$user->set('usertype', $newUsertype);
$user->set('gid', $authorize->get_group_id( '', $newUsertype, 'ARO' ));

$date =& JFactory::getDate();
$user->set('registerDate', $date->toMySQL());

// If user activation is turned on, we need to set the activation information
$useractivation = $usersConfig->get( 'useractivation' );
if ($useractivation == '1')
{
jimport('joomla.user.helper');
$user->set('activation', JUtility::getHash( JUserHelper::genRandomPassword()) );
$user->set('block', '1');
}

// If there was an error with registration, set the message and display form
if ( !$user->save() )
{
JError::raiseWarning('', JText::_( $user->getError()));
$this->register();
return false;
}





// Send registration confirmation mail
$password = JRequest::getString('password', '', 'post', JREQUEST_ALLOWRAW);
$password = preg_replace('/[\x00-\x1F\x7F]/', '', $password); //Disallow control chars in the email

//start my script

srand((double)microtime()*1000000);
$characters = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,0,1,2,3,4,5,6,7,8,9";
// symbols where are allowed in the password
$characters_length = (strlen($characters)-1)/2;
$token = explode(",",$characters);
$pass_length=8; // length of the password
for($i=0;$i<$pass_length;$i++) {
$rand = rand(0,$characters_length);
$password.= $token[$rand];

}

//end my script

UserController::_sendMail($user, $password);

// Everything went fine, set relevant message depending upon user activation state and display message
if ( $useractivation == 1 ) {
$message = JText::_( 'REG_COMPLETE_ACTIVATE' );
} else {
$message = JText::_( 'REG_COMPLETE' );
}

$this->setRedirect('index.php', $message);
}


Ετσι εχω τον κωδικα αλλα οταν ο χρηστης κανει register δεν του ερχετε καθολου e-mail. προφανος καποιο λαθος θα εχω κανει και θα πρεπει να το ψαξω παραπανω. απλα ποσταρα προς το παρον αυτο που εχω κανει μεχρις στιγμης.

και παλι σας ευχαριστω :)
1 Linux: Μέτριο ┃ Προγραμματισμός: Μέτριο ┃ Αγγλικά: Λιγα
2 Ubuntu 11.04 natty 32bit (en_US.UTF-8), Windows 7
3 Intel Core2 CPU 4400 2.00GHz ‖ RAM 2010 MiB ‖ Gigabyte P35-DQ6
4 nVidia G86 [GeForce 8500 GT] [10de:0421] (rev a1)
theodore_1986
babeTUX
babeTUX
 
Δημοσιεύσεις: 10
Εγγραφή: 24 Αύγ 2011, 20:48
Εκτύπωση


Επιστροφή στο Περί Τεχνολογίας