├── .gitattributes ├── LICENSE ├── PHPMailer ├── .gitignore ├── .travis.yml ├── LICENSE ├── PHPMailerAutoload.php ├── README.md ├── VERSION ├── changelog.md ├── class.phpmailer.php ├── class.phpmaileroauth.php ├── class.phpmaileroauthgoogle.php ├── class.pop3.php ├── class.smtp.php ├── composer.json ├── composer.lock ├── docs │ ├── Callback_function_notes.txt │ ├── DomainKeys_notes.txt │ ├── Note_for_SMTP_debugging.txt │ ├── extending.html │ ├── faq.html │ ├── generatedocs.sh │ └── pop3_article.txt ├── examples │ ├── DKIM.phps │ ├── LGPLv3.txt │ ├── code_generator.phps │ ├── contactform.phps │ ├── contents.html │ ├── contentsutf8.html │ ├── exceptions.phps │ ├── gmail.phps │ ├── gmail_xoauth.phps │ ├── images │ │ ├── phpmailer.png │ │ ├── phpmailer_mini.gif │ │ └── phpmailer_mini.png │ ├── index.html │ ├── mail.phps │ ├── mailing_list.phps │ ├── pop_before_smtp.phps │ ├── scripts │ │ ├── XRegExp.js │ │ ├── shAutoloader.js │ │ ├── shBrushPhp.js │ │ ├── shCore.js │ │ └── shLegacy.js │ ├── send_file_upload.phps │ ├── send_multiple_file_upload.phps │ ├── sendmail.phps │ ├── signed-mail.phps │ ├── smtp.phps │ ├── smtp_check.phps │ ├── smtp_no_auth.phps │ ├── ssl_options.phps │ └── styles │ │ ├── shCore.css │ │ ├── shCoreDefault.css │ │ ├── shCoreDjango.css │ │ ├── shCoreEclipse.css │ │ ├── shCoreEmacs.css │ │ ├── shCoreFadeToGrey.css │ │ ├── shCoreMDUltra.css │ │ ├── shCoreMidnight.css │ │ ├── shCoreRDark.css │ │ ├── shThemeAppleScript.css │ │ ├── shThemeDefault.css │ │ ├── shThemeDjango.css │ │ ├── shThemeEclipse.css │ │ ├── shThemeEmacs.css │ │ ├── shThemeFadeToGrey.css │ │ ├── shThemeMDUltra.css │ │ ├── shThemeMidnight.css │ │ ├── shThemeRDark.css │ │ ├── shThemeVisualStudio.css │ │ └── wrapping.png ├── extras │ ├── EasyPeasyICS.php │ ├── README.md │ ├── class.html2text.php │ ├── htmlfilter.php │ └── ntlm_sasl_client.php ├── get_oauth_token.php ├── language │ ├── phpmailer.lang-am.php │ ├── phpmailer.lang-ar.php │ ├── phpmailer.lang-az.php │ ├── phpmailer.lang-ba.php │ ├── phpmailer.lang-be.php │ ├── phpmailer.lang-bg.php │ ├── phpmailer.lang-br.php │ ├── phpmailer.lang-ca.php │ ├── phpmailer.lang-ch.php │ ├── phpmailer.lang-cs.php │ ├── phpmailer.lang-cz.php │ ├── phpmailer.lang-da.php │ ├── phpmailer.lang-de.php │ ├── phpmailer.lang-dk.php │ ├── phpmailer.lang-el.php │ ├── phpmailer.lang-eo.php │ ├── phpmailer.lang-es.php │ ├── phpmailer.lang-et.php │ ├── phpmailer.lang-fa.php │ ├── phpmailer.lang-fi.php │ ├── phpmailer.lang-fo.php │ ├── phpmailer.lang-fr.php │ ├── phpmailer.lang-gl.php │ ├── phpmailer.lang-he.php │ ├── phpmailer.lang-hr.php │ ├── phpmailer.lang-hu.php │ ├── phpmailer.lang-id.php │ ├── phpmailer.lang-it.php │ ├── phpmailer.lang-ja.php │ ├── phpmailer.lang-ka.php │ ├── phpmailer.lang-ko.php │ ├── phpmailer.lang-lt.php │ ├── phpmailer.lang-lv.php │ ├── phpmailer.lang-ms.php │ ├── phpmailer.lang-nb.php │ ├── phpmailer.lang-nl.php │ ├── phpmailer.lang-no.php │ ├── phpmailer.lang-pl.php │ ├── phpmailer.lang-pt.php │ ├── phpmailer.lang-pt_br.php │ ├── phpmailer.lang-ro.php │ ├── phpmailer.lang-rs.php │ ├── phpmailer.lang-ru.php │ ├── phpmailer.lang-se.php │ ├── phpmailer.lang-sk.php │ ├── phpmailer.lang-sl.php │ ├── phpmailer.lang-sv.php │ ├── phpmailer.lang-tr.php │ ├── phpmailer.lang-uk.php │ ├── phpmailer.lang-vi.php │ ├── phpmailer.lang-zh.php │ └── phpmailer.lang-zh_cn.php └── test │ ├── fakepopserver.sh │ ├── fakesendmail.sh │ ├── phpmailerLangTest.php │ ├── phpmailerTest.php │ ├── runfakepopserver.sh │ ├── test_callback.php │ └── testbootstrap-dist.php ├── README.md ├── SQL Files └── project.sql ├── addq.php ├── addqs.php ├── footer.php ├── homestaff.php ├── homestud.php ├── images └── rakesh.png ├── index.php ├── pdf project ├── Abstract.pdf ├── Bibliography-converted.pdf ├── Chapter1-converted.pdf ├── Chapter2.pdf ├── Chapter5.pdf ├── Chapter6.pdf ├── appendix.pdf ├── chapter3.pdf └── chapter4.pdf ├── report ├── Abstract.docx ├── Appendix A.docx ├── Bibliography.docx ├── Certificate.docx ├── Chapter1.docx ├── Chapter2.docx ├── Chapter5.docx ├── Chapter6.docx ├── chapter3.docx └── chapter4.docx ├── reset.php ├── signup.php ├── takeq.php ├── updatepw.php └── viewq.php /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /PHPMailer/.gitignore: -------------------------------------------------------------------------------- 1 | docs/phpdoc/ 2 | test/message.txt 3 | test/testbootstrap.php 4 | .idea 5 | -------------------------------------------------------------------------------- /PHPMailer/.travis.yml: -------------------------------------------------------------------------------- 1 | language: php 2 | php: 3 | - 5.5 4 | - 5.4 5 | - 5.3 6 | before_install: 7 | - sudo apt-get update -qq 8 | - sudo apt-get install -y -qq postfix 9 | before_script: 10 | - sudo service postfix stop 11 | - smtp-sink -d "%d.%H.%M.%S" localhost:2500 1000 & 12 | - cd test 13 | - cp testbootstrap-dist.php testbootstrap.php 14 | - chmod +x fakesendmail.sh 15 | - sudo mkdir -p /var/qmail/bin 16 | - sudo cp fakesendmail.sh /var/qmail/bin/sendmail 17 | - sudo cp fakesendmail.sh /usr/sbin/sendmail 18 | - echo 'sendmail_path = "/usr/sbin/sendmail -t -i "' | sudo tee "/home/travis/.phpenv/versions/`php -i|grep "PHP Version"|head -n 1|grep -o -P '\d+\.\d+\.\d+.*'`/etc/conf.d/sendmail.ini" 19 | script: 20 | - phpunit phpmailerTest 21 | -------------------------------------------------------------------------------- /PHPMailer/PHPMailerAutoload.php: -------------------------------------------------------------------------------- 1 | 8 | * @author Jim Jagielski (jimjag) 9 | * @author Andy Prevost (codeworxtech) 10 | * @author Brent R. Matzelle (original founder) 11 | * @copyright 2013 Marcus Bointon 12 | * @copyright 2010 - 2012 Jim Jagielski 13 | * @copyright 2004 - 2009 Andy Prevost 14 | * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License 15 | * @note This program is distributed in the hope that it will be useful - WITHOUT 16 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 17 | * FITNESS FOR A PARTICULAR PURPOSE. 18 | */ 19 | 20 | /** 21 | * PHPMailer SPL autoloader. 22 | * @param string $classname The name of the class to load 23 | */ 24 | function PHPMailerAutoload($classname) 25 | { 26 | //Can't use __DIR__ as it's only in PHP 5.3+ 27 | $filename = dirname(__FILE__).DIRECTORY_SEPARATOR.'class.'.strtolower($classname).'.php'; 28 | if (is_readable($filename)) { 29 | require $filename; 30 | } 31 | } 32 | 33 | spl_autoload_register('PHPMailerAutoload'); 34 | -------------------------------------------------------------------------------- /PHPMailer/VERSION: -------------------------------------------------------------------------------- 1 | 5.2.27 -------------------------------------------------------------------------------- /PHPMailer/class.phpmaileroauthgoogle.php: -------------------------------------------------------------------------------- 1 | 8 | * @author Jim Jagielski (jimjag) 9 | * @author Andy Prevost (codeworxtech) 10 | * @author Brent R. Matzelle (original founder) 11 | * @copyright 2012 - 2014 Marcus Bointon 12 | * @copyright 2010 - 2012 Jim Jagielski 13 | * @copyright 2004 - 2009 Andy Prevost 14 | * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License 15 | * @note This program is distributed in the hope that it will be useful - WITHOUT 16 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 17 | * FITNESS FOR A PARTICULAR PURPOSE. 18 | */ 19 | 20 | /** 21 | * PHPMailerOAuthGoogle - Wrapper for League OAuth2 Google provider. 22 | * @package PHPMailer 23 | * @author @sherryl4george 24 | * @author Marcus Bointon (@Synchro) 25 | * @link https://github.com/thephpleague/oauth2-client 26 | */ 27 | class PHPMailerOAuthGoogle 28 | { 29 | private $oauthUserEmail = ''; 30 | private $oauthRefreshToken = ''; 31 | private $oauthClientId = ''; 32 | private $oauthClientSecret = ''; 33 | 34 | /** 35 | * @param string $UserEmail 36 | * @param string $ClientSecret 37 | * @param string $ClientId 38 | * @param string $RefreshToken 39 | */ 40 | public function __construct( 41 | $UserEmail, 42 | $ClientSecret, 43 | $ClientId, 44 | $RefreshToken 45 | ) { 46 | $this->oauthClientId = $ClientId; 47 | $this->oauthClientSecret = $ClientSecret; 48 | $this->oauthRefreshToken = $RefreshToken; 49 | $this->oauthUserEmail = $UserEmail; 50 | } 51 | 52 | private function getProvider() 53 | { 54 | return new League\OAuth2\Client\Provider\Google([ 55 | 'clientId' => $this->oauthClientId, 56 | 'clientSecret' => $this->oauthClientSecret 57 | ]); 58 | } 59 | 60 | private function getGrant() 61 | { 62 | return new \League\OAuth2\Client\Grant\RefreshToken(); 63 | } 64 | 65 | private function getToken() 66 | { 67 | $provider = $this->getProvider(); 68 | $grant = $this->getGrant(); 69 | return $provider->getAccessToken($grant, ['refresh_token' => $this->oauthRefreshToken]); 70 | } 71 | 72 | public function getOauth64() 73 | { 74 | $token = $this->getToken(); 75 | return base64_encode("user=" . $this->oauthUserEmail . "\001auth=Bearer " . $token . "\001\001"); 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /PHPMailer/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "phpmailer/phpmailer", 3 | "type": "library", 4 | "description": "PHPMailer is a full-featured email creation and transfer class for PHP", 5 | "authors": [ 6 | { 7 | "name": "Jim Jagielski", 8 | "email": "jimjag@gmail.com" 9 | }, 10 | { 11 | "name": "Marcus Bointon", 12 | "email": "phpmailer@synchromedia.co.uk" 13 | }, 14 | { 15 | "name": "Andy Prevost", 16 | "email": "codeworxtech@users.sourceforge.net" 17 | }, 18 | { 19 | "name": "Brent R. Matzelle" 20 | } 21 | ], 22 | "require": { 23 | "php": ">=5.0.0" 24 | }, 25 | "require-dev": { 26 | "phpdocumentor/phpdocumentor": "*", 27 | "phpunit/phpunit": "*" 28 | }, 29 | "autoload": { 30 | "classmap": ["class.phpmailer.php", "class.pop3.php", "class.smtp.php"] 31 | }, 32 | "license": "LGPL-2.1" 33 | } -------------------------------------------------------------------------------- /PHPMailer/docs/Callback_function_notes.txt: -------------------------------------------------------------------------------- 1 | NEW CALLBACK FUNCTION: 2 | ====================== 3 | 4 | We have had requests for a method to process the results of sending emails 5 | through PHPMailer. In this new release, we have implemented a callback 6 | function that passes the results of each email sent (to, cc, and/or bcc). 7 | We have provided an example that echos the results back to the screen. The 8 | callback function can be used for any purpose. With minor modifications, the 9 | callback function can be used to create CSV logs, post results to databases, 10 | etc. 11 | 12 | Please review the test.php script for the example. 13 | 14 | It's pretty straight forward. 15 | 16 | Enjoy! 17 | Andy 18 | -------------------------------------------------------------------------------- /PHPMailer/docs/DomainKeys_notes.txt: -------------------------------------------------------------------------------- 1 | CREATE DKIM KEYS and DNS Resource Record: 2 | ========================================= 3 | 4 | To create DomainKeys Identified Mail keys, visit: 5 | http://dkim.worxware.com/ 6 | ... read the information, fill in the form, and download the ZIP file 7 | containing the public key, private key, DNS Resource Record and instructions 8 | to add to your DNS Zone Record, and the PHPMailer code to enable DKIM 9 | digital signing. 10 | 11 | /*** PROTECT YOUR PRIVATE & PUBLIC KEYS ***/ 12 | 13 | You need to protect your DKIM private and public keys from being viewed or 14 | accessed. Add protection to your .htaccess file as in this example: 15 | 16 | # secure htkeyprivate file 17 | 18 | order allow,deny 19 | deny from all 20 | 21 | 22 | # secure htkeypublic file 23 | 24 | order allow,deny 25 | deny from all 26 | 27 | 28 | (the actual .htaccess additions are in the ZIP file sent back to you from 29 | http://dkim.worxware.com/ 30 | 31 | A few notes on using DomainKey Identified Mail (DKIM): 32 | 33 | You do not need to use PHPMailer to DKIM sign emails IF: 34 | - you enable DomainKey support and add the DNS resource record 35 | - you use your outbound mail server 36 | 37 | If you are a third-party emailer that works on behalf of domain owners to 38 | send their emails from your own server: 39 | - you absolutely have to DKIM sign outbound emails 40 | - the domain owner has to add the DNS resource record to match the 41 | private key, public key, selector, identity, and domain that you create 42 | - use caution with the "selector" ... at least one "selector" will already 43 | exist in the DNS Zone Record of the domain at the domain owner's server 44 | you need to ensure that the "selector" you use is unique 45 | Note: since the IP address will not match the domain owner's DNS Zone record 46 | you can be certain that email providers that validate based on DomainKey will 47 | check the domain owner's DNS Zone record for your DNS resource record. Before 48 | sending out emails on behalf of domain owners, ensure they have entered the 49 | DNS resource record you provided them. 50 | 51 | Enjoy! 52 | Andy 53 | 54 | PS. if you need additional information about DKIM, please see: 55 | http://www.dkim.org/info/dkim-faq.html 56 | -------------------------------------------------------------------------------- /PHPMailer/docs/Note_for_SMTP_debugging.txt: -------------------------------------------------------------------------------- 1 | If you are having problems connecting or sending emails through your SMTP server, the SMTP class can provide more information about the processing/errors taking place. 2 | Use the debug functionality of the class to see what's going on in your connections. To do that, set the debug level in your script. For example: 3 | 4 | $mail->SMTPDebug = 1; 5 | $mail->isSMTP(); // telling the class to use SMTP 6 | $mail->SMTPAuth = true; // enable SMTP authentication 7 | $mail->Port = 26; // set the SMTP port 8 | $mail->Host = "mail.yourhost.com"; // SMTP server 9 | $mail->Username = "name@yourhost.com"; // SMTP account username 10 | $mail->Password = "your password"; // SMTP account password 11 | 12 | Notes on this: 13 | $mail->SMTPDebug = 0; ... will disable debugging (you can also leave this out completely, 0 is the default) 14 | $mail->SMTPDebug = 1; ... will echo errors and server responses 15 | $mail->SMTPDebug = 2; ... will echo errors, server responses and client messages 16 | 17 | And finally, don't forget to disable debugging before going into production. 18 | -------------------------------------------------------------------------------- /PHPMailer/docs/extending.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Examples using phpmailer 4 | 5 | 6 | 7 | 8 |

Examples using phpmailer

9 | 10 |

1. Advanced Example

11 |

12 | 13 | This demonstrates sending out multiple email messages with binary attachments 14 | from a MySQL database with multipart/alternative support.

15 | 16 | 17 | 61 | 62 |
18 |
 19 | require("class.phpmailer.php");
 20 | 
 21 | $mail = new phpmailer();
 22 | 
 23 | $mail->From     = "list@example.com";
 24 | $mail->FromName = "List manager";
 25 | $mail->Host     = "smtp1.example.com;smtp2.example.com";
 26 | $mail->Mailer   = "smtp";
 27 | 
 28 | @MYSQL_CONNECT("localhost","root","password");
 29 | @mysql_select_db("my_company");
 30 | $query� =�"SELECT full_name, email,�photo�FROM employee�WHERE�id=$id";
 31 | $result�=�@MYSQL_QUERY($query);
 32 | 
 33 | while ($row = mysql_fetch_array ($result))
 34 | {
 35 |     // HTML body
 36 |     $body  = "Hello <font size=\"4\">" . $row["full_name"] . "</font>, <p>";
 37 |     $body .= "<i>Your</i> personal photograph to this message.<p>";
 38 |     $body .= "Sincerely, <br>";
 39 |     $body .= "phpmailer List manager";
 40 | 
 41 |     // Plain text body (for mail clients that cannot read HTML)
 42 |     $text_body  = "Hello " . $row["full_name"] . ", \n\n";
 43 |     $text_body .= "Your personal photograph to this message.\n\n";
 44 |     $text_body .= "Sincerely, \n";
 45 |     $text_body .= "phpmailer List manager";
 46 | 
 47 |     $mail->Body    = $body;
 48 |     $mail->AltBody = $text_body;
 49 |     $mail->addAddress($row["email"], $row["full_name"]);
 50 |     $mail->addStringAttachment($row["photo"], "YourPhoto.jpg");
 51 | 
 52 |     if(!$mail->send())
 53 |         echo "There has been a mail error sending to " . $row["email"] . "<br>";
 54 | 
 55 |     // Clear all addresses and attachments for next loop
 56 |     $mail->clearAddresses();
 57 |     $mail->clearAttachments();
 58 | }
 59 | 
60 |
63 |

64 | 65 |

2. Extending phpmailer

66 |

67 | 68 | Extending classes with inheritance is one of the most 69 | powerful features of object-oriented 70 | programming. It allows you to make changes to the 71 | original class for your 72 | own personal use without hacking the original 73 | classes. Plus, it is very 74 | easy to do. I've provided an example: 75 | 76 |

77 | Here's a class that extends the phpmailer class and sets the defaults 78 | for the particular site:
79 | PHP include file: mail.inc.php 80 |

81 | 82 | 83 | 84 | 111 | 112 |
85 |
 86 | require("class.phpmailer.php");
 87 | 
 88 | class my_phpmailer extends phpmailer {
 89 |     // Set default variables for all new objects
 90 |     var $From     = "from@example.com";
 91 |     var $FromName = "Mailer";
 92 |     var $Host     = "smtp1.example.com;smtp2.example.com";
 93 |     var $Mailer   = "smtp";                         // Alternative to isSMTP()
 94 |     var $WordWrap = 75;
 95 | 
 96 |     // Replace the default error_handler
 97 |     function error_handler($msg) {
 98 |         print("My Site Error");
 99 |         print("Description:");
100 |         printf("%s", $msg);
101 |         exit;
102 |     }
103 | 
104 |     // Create an additional function
105 |     function do_something($something) {
106 |         // Place your new code here
107 |     }
108 | }
109 | 
110 |
113 |
114 | 115 | Now here's a normal PHP page in the site, which will have all the defaults set above:
116 | Normal PHP file: mail_test.php 117 | 118 | 119 | 120 | 142 | 143 |
121 |
122 | require("mail.inc.php");
123 | 
124 | // Instantiate your new class
125 | $mail = new my_phpmailer;
126 | 
127 | // Now you only need to add the necessary stuff
128 | $mail->addAddress("josh@example.com", "Josh Adams");
129 | $mail->Subject = "Here is the subject";
130 | $mail->Body    = "This is the message body";
131 | $mail->addAttachment("c:/temp/11-10-00.zip", "new_name.zip");  // optional name
132 | 
133 | if(!$mail->send())
134 | {
135 |    echo "There was an error sending the message";
136 |    exit;
137 | }
138 | 
139 | echo "Message was sent successfully";
140 | 
141 |
144 | 145 | 146 | -------------------------------------------------------------------------------- /PHPMailer/docs/faq.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | PHPMailer FAQ 4 | 14 | 15 | 16 |

17 |
18 |

PHPMailer FAQ

19 |
    20 | 21 |
  • Q: I'm using the SMTP mailer and I keep on getting a timeout message 22 | well before the X seconds I set it for. What gives?
    23 | A: PHP versions 4.0.4pl1 and earlier have a bug in which sockets timeout 24 | early. You can fix this by re-compiling PHP 4.0.4pl1 with this fix: 25 | timeoutfix.diff. Otherwise you can wait for the new PHP release.

  • 26 | 27 |
  • Q: I am concerned that using include files will take up too much 28 | processing time on my computer. How can I make it run faster?
    29 | A: PHP by itself is very fast. Much faster than ASP or JSP running on 30 | the same type of server. This is because it has very little overhead compared 31 | to its competitors and it pre-compiles all of 32 | its code before it runs each script (in PHP4). However, all of 33 | this compiling and re-compiling can take up a lot of valuable 34 | computer resources. However, there are programs out there that compile 35 | PHP code and store it in memory (or on mmaped files) to reduce the 36 | processing immensely. Two of these: APC 37 | (Alternative PHP Cache) and Afterburner 38 | (Win32 download) 39 | are excellent free tools that do just this. If you have the money 40 | you might also try Zend Cache, it is 41 | even faster than the open source varieties. All of these tools make your 42 | scripts run faster while also reducing the load on your server. I have tried 43 | them myself and they are quite stable too.

  • 44 | 45 |
  • Q: What mailer gives me the best performance?
    46 | A: On a single machine the sendmail (or Qmail) is fastest overall. 47 | Next fastest is mail() to give you the best performance. Both do not have the overhead of SMTP. 48 | If you have you have your mail server on a another machine then 49 | SMTP is your only option, but you do get the benefit of redundant mail servers.
    50 | If you are running a mailing list with thousands of names, the fastest mailers in order are: SMTP, sendmail (or Qmail), mail().

  • 51 | 52 |
  • Q: When I try to attach a file with on my server I get a 53 | "Could not find {file} on filesystem error". Why is this?
    54 | A: If you are using a Unix machine this is probably because the user 55 | running your web server does not have read access to the directory in question. If you are using Windows, 56 | then the problem probably is that you have used single backslashes to denote directories (\). 57 | A single backslash has a special meaning to PHP so these are not 58 | valid. Instead use double backslashes ("\\") or a single forward 59 | slash ("/").

  • 60 | 61 |
62 | 63 |
64 |
65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /PHPMailer/docs/generatedocs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Regenerate PHPMailer documentation 3 | # Run from within the docs folder 4 | rm -rf phpdocs/* 5 | phpdoc --directory .. --target ./phpdoc --ignore test/,examples/,extras/,test_script/ --sourcecode --force --title PHPMailer 6 | -------------------------------------------------------------------------------- /PHPMailer/docs/pop3_article.txt: -------------------------------------------------------------------------------- 1 | This is built for PHP Mailer 1.72 and was not tested with any previous version. It was developed under PHP 4.3.11 (E_ALL). It works under PHP 5 and 5.1 with E_ALL, but not in Strict mode due to var deprecation (but then neither does PHP Mailer either!). It follows the RFC 1939 standard explicitly and is fully commented. 2 | 3 | With that noted, here is how to implement it: 4 | 5 | I didn't want to modify the PHP Mailer classes at all, so you will have to include/require this class along with the base one. It can sit quite happily in the phpmailer directory. 6 | 7 | When you need it, create your POP3 object 8 | 9 | Right before I invoke PHP Mailer I activate the POP3 authorisation. POP3 before SMTP is a process whereby you login to your web hosts POP3 mail server BEFORE sending out any emails via SMTP. The POP3 logon 'verifies' your ability to send email by SMTP, which typically otherwise blocks you. On my web host (Pair Networks) a single POP3 logon is enough to 'verify' you for 90 minutes. Here is some sample PHP code that activates the POP3 logon and then sends an email via PHP Mailer: 10 | 11 | authorise('pop3.example.com', 110, 30, 'mailer', 'password', 1); 13 | $mail = new PHPMailer(); $mail->SMTPDebug = 2; $mail->isSMTP(); 14 | $mail->isHTML(false); $mail->Host = 'relay.example.com'; 15 | $mail->From = 'mailer@example.com'; 16 | $mail->FromName = 'Example Mailer'; 17 | $mail->Subject = 'My subject'; 18 | $mail->Body = 'Hello world'; 19 | $mail->addAddress('rich@corephp.co.uk', 'Richard Davey'); 20 | if (!$mail->send()) { 21 | echo $mail->ErrorInfo; 22 | } 23 | ?> 24 | 25 | The PHP Mailer parts of this code should be obvious to anyone who has used PHP Mailer before. One thing to note - you almost certainly will not need to use SMTP Authentication *and* POP3 before SMTP together. The Authorisation method is a proxy method to all of the others within that class. There are connect, Logon and disconnect methods available, but I wrapped them in the single Authorisation one to make things easier. 26 | The Parameters 27 | 28 | The authorise parameters are as follows: 29 | 30 | $pop->authorise('pop3.example.com', 110, 30, 'mailer', 'password', 1); 31 | 32 | 1. pop3.example.com - The POP3 Mail Server Name (hostname or IP address) 33 | 2. 110 - The POP3 Port on which to connect (default is usually 110, but check with your host) 34 | 3. 30 - A connection time-out value (in seconds) 35 | 4. mailer - The POP3 Username required to logon 36 | 5. password - The POP3 Password required to logon 37 | 6. 1 - The class debug level (0 = off, 1+ = debug output is echoed to the browser) 38 | 39 | Final Comments + the Download 40 | 41 | 1) This class does not support APOP connections. This is only because I did not have an APOP server to test with, but if you'd like to see that added just contact me. 42 | 43 | 2) Opening and closing lots of POP3 connections can be quite a resource/network drain. If you need to send a whole batch of emails then just perform the authentication once at the start, and then loop through your mail sending script. Providing this process doesn't take longer than the verification period lasts on your POP3 server, you should be fine. With my host that period is 90 minutes, i.e. plenty of time. 44 | 45 | 3) If you have heavy requirements for this script (i.e. send a LOT of email on a frequent basis) then I would advise seeking out an alternative sending method (direct SMTP ideally). If this isn't possible then you could modify this class so the 'last authorised' date is recorded somewhere (MySQL, Flat file, etc) meaning you only open a new connection if the old one has expired, saving you precious overhead. 46 | 47 | 4) There are lots of other POP3 classes for PHP available. However most of them implement the full POP3 command set, where-as this one is purely for authentication, and much lighter as a result. However using any of the other POP3 classes to just logon to your server would have the same net result. At the end of the day, use whatever method you feel most comfortable with. 48 | Download 49 | 50 | My thanks to Chris Ryan for the inspiration (even if indirectly, via his SMTP class) 51 | -------------------------------------------------------------------------------- /PHPMailer/examples/DKIM.phps: -------------------------------------------------------------------------------- 1 | setFrom('from@example.com', 'First Last'); 16 | //Set an alternative reply-to address 17 | $mail->addReplyTo('replyto@example.com', 'First Last'); 18 | //Set who the message is to be sent to 19 | $mail->addAddress('whoto@example.com', 'John Doe'); 20 | //Set the subject line 21 | $mail->Subject = 'PHPMailer DKIM test'; 22 | //This should be the same as the domain of your From address 23 | $mail->DKIM_domain = 'example.com'; 24 | //Path to your private key file 25 | $mail->DKIM_private = 'dkim_private.pem'; 26 | //Set this to your own selector 27 | $mail->DKIM_selector = 'phpmailer'; 28 | //If your private key has a passphrase, set it here 29 | $mail->DKIM_passphrase = ''; 30 | //The identity you're signing as - usually your From address 31 | $mail->DKIM_identity = $mail->From; 32 | 33 | //send the message, check for errors 34 | if (!$mail->send()) { 35 | echo "Mailer Error: " . $mail->ErrorInfo; 36 | } else { 37 | echo "Message sent!"; 38 | } 39 | -------------------------------------------------------------------------------- /PHPMailer/examples/contactform.phps: -------------------------------------------------------------------------------- 1 | isSMTP(); 18 | $mail->Host = 'localhost'; 19 | $mail->Port = 25; 20 | 21 | //Use a fixed address in your own domain as the from address 22 | //**DO NOT** use the submitter's address here as it will be forgery 23 | //and will cause your messages to fail SPF checks 24 | $mail->setFrom('from@example.com', 'First Last'); 25 | //Send the message to yourself, or whoever should receive contact for submissions 26 | $mail->addAddress('whoto@example.com', 'John Doe'); 27 | //Put the submitter's address in a reply-to header 28 | //This will fail if the address provided is invalid, 29 | //in which case we should ignore the whole request 30 | if ($mail->addReplyTo($_POST['email'], $_POST['name'])) { 31 | $mail->Subject = 'PHPMailer contact form'; 32 | //Keep it simple - don't use HTML 33 | $mail->isHTML(false); 34 | //Build a simple message body 35 | $mail->Body = <<send()) { 42 | //The reason for failing to send will be in $mail->ErrorInfo 43 | //but you shouldn't display errors to users - process the error, log it on your server. 44 | $msg = 'Sorry, something went wrong. Please try again later.'; 45 | } else { 46 | $msg = 'Message sent! Thanks for contacting us.'; 47 | } 48 | } else { 49 | $msg = 'Invalid email address, message ignored.'; 50 | } 51 | } 52 | ?> 53 | 54 | 55 | 56 | 57 | Contact form 58 | 59 | 60 |

Contact us

61 | $msg"; 63 | } ?> 64 |
65 |
66 |
67 |
68 | 69 |
70 | 71 | 72 | -------------------------------------------------------------------------------- /PHPMailer/examples/contents.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PHPMailer Test 6 | 7 | 8 |
9 |

This is a test of PHPMailer.

10 |
11 | PHPMailer rocks 12 |
13 |

This example uses HTML.

14 |

The PHPMailer image at the top has been embedded automatically.

15 |
16 | 17 | 18 | -------------------------------------------------------------------------------- /PHPMailer/examples/contentsutf8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PHPMailer Test 6 | 7 | 8 |
9 |

This is a test of PHPMailer.

10 |
11 | PHPMailer rocks 12 |
13 |

This example uses HTML.

14 |

Chinese text: 郵件內容為空

15 |

Russian text: Пустое тело сообщения

16 |

Armenian text: Հաղորդագրությունը դատարկ է

17 |

Czech text: Prázdné tělo zprávy

18 |

Emoji: 😂 🦄 💥 📤 📧

19 |
20 | 21 | 22 | -------------------------------------------------------------------------------- /PHPMailer/examples/exceptions.phps: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PHPMailer - Exceptions test 6 | 7 | 8 | setFrom('from@example.com', 'First Last'); 17 | //Set an alternative reply-to address 18 | $mail->addReplyTo('replyto@example.com', 'First Last'); 19 | //Set who the message is to be sent to 20 | $mail->addAddress('whoto@example.com', 'John Doe'); 21 | //Set the subject line 22 | $mail->Subject = 'PHPMailer Exceptions test'; 23 | //Read an HTML message body from an external file, convert referenced images to embedded, 24 | //and convert the HTML into a basic plain-text alternative body 25 | $mail->msgHTML(file_get_contents('contents.html'), dirname(__FILE__)); 26 | //Replace the plain text body with one created manually 27 | $mail->AltBody = 'This is a plain-text message body'; 28 | //Attach an image file 29 | $mail->addAttachment('images/phpmailer_mini.gif'); 30 | //send the message 31 | //Note that we don't need check the response from this because it will throw an exception if it has trouble 32 | $mail->send(); 33 | echo "Message sent!"; 34 | } catch (phpmailerException $e) { 35 | echo $e->errorMessage(); //Pretty error messages from PHPMailer 36 | } catch (Exception $e) { 37 | echo $e->getMessage(); //Boring error messages from anything else! 38 | } 39 | ?> 40 | 41 | 42 | -------------------------------------------------------------------------------- /PHPMailer/examples/gmail.phps: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PHPMailer - GMail SMTP test 6 | 7 | 8 | isSMTP(); 20 | //Enable SMTP debugging 21 | // 0 = off (for production use) 22 | // 1 = client messages 23 | // 2 = client and server messages 24 | $mail->SMTPDebug = 2; 25 | //Ask for HTML-friendly debug output 26 | $mail->Debugoutput = 'html'; 27 | //Set the hostname of the mail server 28 | $mail->Host = 'smtp.gmail.com'; 29 | //Set the SMTP port number - 587 for authenticated TLS, a.k.a. RFC4409 SMTP submission 30 | $mail->Port = 587; 31 | //Set the encryption system to use - ssl (deprecated) or tls 32 | $mail->SMTPSecure = 'tls'; 33 | //Whether to use SMTP authentication 34 | $mail->SMTPAuth = true; 35 | //Username to use for SMTP authentication - use full email address for gmail 36 | $mail->Username = "username@gmail.com"; 37 | //Password to use for SMTP authentication 38 | $mail->Password = "yourpassword"; 39 | //Set who the message is to be sent from 40 | $mail->setFrom('from@example.com', 'First Last'); 41 | //Set an alternative reply-to address 42 | $mail->addReplyTo('replyto@example.com', 'First Last'); 43 | //Set who the message is to be sent to 44 | $mail->addAddress('whoto@example.com', 'John Doe'); 45 | //Set the subject line 46 | $mail->Subject = 'PHPMailer GMail SMTP test'; 47 | //Read an HTML message body from an external file, convert referenced images to embedded, 48 | //convert HTML into a basic plain-text alternative body 49 | $mail->msgHTML(file_get_contents('contents.html'), dirname(__FILE__)); 50 | //Replace the plain text body with one created manually 51 | $mail->AltBody = 'This is a plain-text message body'; 52 | //Attach an image file 53 | $mail->addAttachment('images/phpmailer_mini.gif'); 54 | 55 | //send the message, check for errors 56 | if (!$mail->send()) { 57 | echo "Mailer Error: " . $mail->ErrorInfo; 58 | } else { 59 | echo "Message sent!"; 60 | } 61 | ?> 62 | 63 | 64 | -------------------------------------------------------------------------------- /PHPMailer/examples/gmail_xoauth.phps: -------------------------------------------------------------------------------- 1 | isSMTP(); 21 | 22 | //Enable SMTP debugging 23 | // 0 = off (for production use) 24 | // 1 = client messages 25 | // 2 = client and server messages 26 | $mail->SMTPDebug = 0; 27 | 28 | //Ask for HTML-friendly debug output 29 | $mail->Debugoutput = 'html'; 30 | 31 | //Set the hostname of the mail server 32 | $mail->Host = 'smtp.gmail.com'; 33 | 34 | //Set the SMTP port number - 587 for authenticated TLS, a.k.a. RFC4409 SMTP submission 35 | $mail->Port = 587; 36 | 37 | //Set the encryption system to use - ssl (deprecated) or tls 38 | $mail->SMTPSecure = 'tls'; 39 | 40 | //Whether to use SMTP authentication 41 | $mail->SMTPAuth = true; 42 | 43 | //Set AuthType 44 | $mail->AuthType = 'XOAUTH2'; 45 | 46 | //User Email to use for SMTP authentication - user who gave consent to our app 47 | $mail->oauthUserEmail = "from@gmail.com"; 48 | 49 | //Obtained From Google Developer Console 50 | $mail->oauthClientId = "RANDOMCHARS-----duv1n2.apps.googleusercontent.com"; 51 | 52 | //Obtained From Google Developer Console 53 | $mail->oauthClientSecret = "RANDOMCHARS-----lGyjPcRtvP"; 54 | 55 | //Obtained By running get_oauth_token.php after setting up APP in Google Developer Console. 56 | //Set Redirect URI in Developer Console as [https/http]:////get_oauth_token.php 57 | // eg: http://localhost/phpmail/get_oauth_token.php 58 | $mail->oauthRefreshToken = "RANDOMCHARS-----DWxgOvPT003r-yFUV49TQYag7_Aod7y0"; 59 | 60 | //Set who the message is to be sent from 61 | //For gmail, this generally needs to be the same as the user you logged in as 62 | $mail->setFrom('from@example.com', 'First Last'); 63 | 64 | //Set who the message is to be sent to 65 | $mail->addAddress('whoto@example.com', 'John Doe'); 66 | 67 | //Set the subject line 68 | $mail->Subject = 'PHPMailer GMail SMTP test'; 69 | 70 | //Read an HTML message body from an external file, convert referenced images to embedded, 71 | //convert HTML into a basic plain-text alternative body 72 | $mail->msgHTML(file_get_contents('contents.html'), dirname(__FILE__)); 73 | 74 | //Replace the plain text body with one created manually 75 | $mail->AltBody = 'This is a plain-text message body'; 76 | 77 | //Attach an image file 78 | $mail->addAttachment('images/phpmailer_mini.png'); 79 | 80 | //send the message, check for errors 81 | if (!$mail->send()) { 82 | echo "Mailer Error: " . $mail->ErrorInfo; 83 | } else { 84 | echo "Message sent!"; 85 | } 86 | -------------------------------------------------------------------------------- /PHPMailer/examples/images/phpmailer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bhatvinayak/Online-Examination-System/5f4923336031b0920cf2e09add8b4d29bbf5dd66/PHPMailer/examples/images/phpmailer.png -------------------------------------------------------------------------------- /PHPMailer/examples/images/phpmailer_mini.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bhatvinayak/Online-Examination-System/5f4923336031b0920cf2e09add8b4d29bbf5dd66/PHPMailer/examples/images/phpmailer_mini.gif -------------------------------------------------------------------------------- /PHPMailer/examples/images/phpmailer_mini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bhatvinayak/Online-Examination-System/5f4923336031b0920cf2e09add8b4d29bbf5dd66/PHPMailer/examples/images/phpmailer_mini.png -------------------------------------------------------------------------------- /PHPMailer/examples/mail.phps: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PHPMailer - mail() test 6 | 7 | 8 | setFrom('from@example.com', 'First Last'); 15 | //Set an alternative reply-to address 16 | $mail->addReplyTo('replyto@example.com', 'First Last'); 17 | //Set who the message is to be sent to 18 | $mail->addAddress('whoto@example.com', 'John Doe'); 19 | //Set the subject line 20 | $mail->Subject = 'PHPMailer mail() test'; 21 | //Read an HTML message body from an external file, convert referenced images to embedded, 22 | //convert HTML into a basic plain-text alternative body 23 | $mail->msgHTML(file_get_contents('contents.html'), dirname(__FILE__)); 24 | //Replace the plain text body with one created manually 25 | $mail->AltBody = 'This is a plain-text message body'; 26 | //Attach an image file 27 | $mail->addAttachment('images/phpmailer_mini.gif'); 28 | 29 | //send the message, check for errors 30 | if (!$mail->send()) { 31 | echo "Mailer Error: " . $mail->ErrorInfo; 32 | } else { 33 | echo "Message sent!"; 34 | } 35 | ?> 36 | 37 | 38 | -------------------------------------------------------------------------------- /PHPMailer/examples/mailing_list.phps: -------------------------------------------------------------------------------- 1 | isSMTP(); 14 | $mail->Host = 'smtp.example.com'; 15 | $mail->SMTPAuth = true; 16 | $mail->SMTPKeepAlive = true; // SMTP connection will not close after each email sent, reduces SMTP overhead 17 | $mail->Host = 'mail.example.com'; 18 | $mail->Port = 25; 19 | $mail->Username = 'yourname@example.com'; 20 | $mail->Password = 'yourpassword'; 21 | $mail->setFrom('list@example.com', 'List manager'); 22 | $mail->addReplyTo('list@example.com', 'List manager'); 23 | 24 | $mail->Subject = "PHPMailer Simple database mailing list test"; 25 | 26 | //connect to the database and select the recipients from your mailing list that have not yet been sent to 27 | //You'll need to alter this to match your database 28 | $mysql = mysql_connect('localhost', 'username', 'password'); 29 | mysql_select_db('mydb', $mysql); 30 | $result = mysql_query("SELECT full_name, email, photo FROM mailinglist WHERE sent = false", $mysql); 31 | 32 | while ($row = mysql_fetch_array($result)) { 33 | $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; 34 | $mail->msgHTML($body); 35 | $mail->addAddress($row['email'], $row['full_name']); 36 | $mail->addStringAttachment($row['photo'], 'YourPhoto.jpg'); //Assumes the image data is stored in the DB 37 | 38 | if (!$mail->send()) { 39 | echo "Mailer Error (" . str_replace("@", "@", $row["email"]) . ') ' . $mail->ErrorInfo . '
'; 40 | break; //Abandon sending 41 | } else { 42 | echo "Message sent to :" . $row['full_name'] . ' (' . str_replace("@", "@", $row['email']) . ')
'; 43 | //Mark it as sent in the DB 44 | mysql_query( 45 | "UPDATE mailinglist SET sent = true WHERE email = '" . mysql_real_escape_string($row['email'], $mysql) . "'" 46 | ); 47 | } 48 | // Clear all addresses and attachments for next loop 49 | $mail->clearAddresses(); 50 | $mail->clearAttachments(); 51 | } 52 | -------------------------------------------------------------------------------- /PHPMailer/examples/pop_before_smtp.phps: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PHPMailer - POP-before-SMTP test 6 | 7 | 8 | isSMTP(); 21 | //Enable SMTP debugging 22 | // 0 = off (for production use) 23 | // 1 = client messages 24 | // 2 = client and server messages 25 | $mail->SMTPDebug = 2; 26 | //Ask for HTML-friendly debug output 27 | $mail->Debugoutput = 'html'; 28 | //Set the hostname of the mail server 29 | $mail->Host = "mail.example.com"; 30 | //Set the SMTP port number - likely to be 25, 465 or 587 31 | $mail->Port = 25; 32 | //Whether to use SMTP authentication 33 | $mail->SMTPAuth = false; 34 | //Set who the message is to be sent from 35 | $mail->setFrom('from@example.com', 'First Last'); 36 | //Set an alternative reply-to address 37 | $mail->addReplyTo('replyto@example.com', 'First Last'); 38 | //Set who the message is to be sent to 39 | $mail->addAddress('whoto@example.com', 'John Doe'); 40 | //Set the subject line 41 | $mail->Subject = 'PHPMailer POP-before-SMTP test'; 42 | //Read an HTML message body from an external file, convert referenced images to embedded, 43 | //and convert the HTML into a basic plain-text alternative body 44 | $mail->msgHTML(file_get_contents('contents.html'), dirname(__FILE__)); 45 | //Replace the plain text body with one created manually 46 | $mail->AltBody = 'This is a plain-text message body'; 47 | //Attach an image file 48 | $mail->addAttachment('images/phpmailer_mini.gif'); 49 | //send the message 50 | //Note that we don't need check the response from this because it will throw an exception if it has trouble 51 | $mail->send(); 52 | echo "Message sent!"; 53 | } catch (phpmailerException $e) { 54 | echo $e->errorMessage(); //Pretty error messages from PHPMailer 55 | } catch (Exception $e) { 56 | echo $e->getMessage(); //Boring error messages from anything else! 57 | } 58 | ?> 59 | 60 | 61 | -------------------------------------------------------------------------------- /PHPMailer/examples/scripts/shAutoloader.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | 3 | var sh = SyntaxHighlighter; 4 | 5 | /** 6 | * Provides functionality to dynamically load only the brushes that a needed to render the current page. 7 | * 8 | * There are two syntaxes that autoload understands. For example: 9 | * 10 | * SyntaxHighlighter.autoloader( 11 | * [ 'applescript', 'Scripts/shBrushAppleScript.js' ], 12 | * [ 'actionscript3', 'as3', 'Scripts/shBrushAS3.js' ] 13 | * ); 14 | * 15 | * or a more easily comprehendable one: 16 | * 17 | * SyntaxHighlighter.autoloader( 18 | * 'applescript Scripts/shBrushAppleScript.js', 19 | * 'actionscript3 as3 Scripts/shBrushAS3.js' 20 | * ); 21 | */ 22 | sh.autoloader = function() 23 | { 24 | var list = arguments, 25 | elements = sh.findElements(), 26 | brushes = {}, 27 | scripts = {}, 28 | all = SyntaxHighlighter.all, 29 | allCalled = false, 30 | allParams = null, 31 | i 32 | ; 33 | 34 | SyntaxHighlighter.all = function(params) 35 | { 36 | allParams = params; 37 | allCalled = true; 38 | }; 39 | 40 | function addBrush(aliases, url) 41 | { 42 | for (var i = 0; i < aliases.length; i++) 43 | brushes[aliases[i]] = url; 44 | }; 45 | 46 | function getAliases(item) 47 | { 48 | return item.pop 49 | ? item 50 | : item.split(/\s+/) 51 | ; 52 | } 53 | 54 | // create table of aliases and script urls 55 | for (i = 0; i < list.length; i++) 56 | { 57 | var aliases = getAliases(list[i]), 58 | url = aliases.pop() 59 | ; 60 | 61 | addBrush(aliases, url); 62 | } 63 | 64 | // dynamically add "; 13 | } 14 | $type = mysqli_real_escape_string($conn, $_POST['usertype']); 15 | $username = mysqli_real_escape_string($conn, $_POST['username']); 16 | $password = mysqli_real_escape_string($conn, $_POST['pass']); 17 | $password = crypt($password, 'rakeshmariyaplarrakesh'); 18 | $sql = "select * from " . $type . " where mail='{$username}'"; 19 | $res = mysqli_query($conn, $sql); 20 | if ($res == true) { 21 | global $dbmail, $dbpw; 22 | while ($row = mysqli_fetch_array($res)) { 23 | $dbpw = $row['pw']; 24 | $dbmail = $row['mail']; 25 | $_SESSION["name"] = $row['name']; 26 | $_SESSION["type"]=$type; 27 | $_SESSION["username"]=$dbmail; 28 | } 29 | if ($dbpw === $password) { 30 | if($type==='student'){ 31 | header("location:homestud.php"); 32 | }elseif($type==='staff'){ 33 | header("Location: homestaff.php"); 34 | } 35 | } elseif ($dbpw !== $password && $dbmail === $username) { 36 | echo ""; 37 | } elseif ($dbpw !== $password && $dbmail !== $username) { 38 | echo ""; 39 | } 40 | } 41 | } 42 | } 43 | ?> 44 | 94 | 95 | 96 |
97 |
98 |

ONLINE 99 | Examination System

100 |
101 |
102 | 122 |
123 |
124 | 125 | 126 | 127 | -------------------------------------------------------------------------------- /pdf project/Abstract.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bhatvinayak/Online-Examination-System/5f4923336031b0920cf2e09add8b4d29bbf5dd66/pdf project/Abstract.pdf -------------------------------------------------------------------------------- /pdf project/Bibliography-converted.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bhatvinayak/Online-Examination-System/5f4923336031b0920cf2e09add8b4d29bbf5dd66/pdf project/Bibliography-converted.pdf -------------------------------------------------------------------------------- /pdf project/Chapter1-converted.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bhatvinayak/Online-Examination-System/5f4923336031b0920cf2e09add8b4d29bbf5dd66/pdf project/Chapter1-converted.pdf -------------------------------------------------------------------------------- /pdf project/Chapter2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bhatvinayak/Online-Examination-System/5f4923336031b0920cf2e09add8b4d29bbf5dd66/pdf project/Chapter2.pdf -------------------------------------------------------------------------------- /pdf project/Chapter5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bhatvinayak/Online-Examination-System/5f4923336031b0920cf2e09add8b4d29bbf5dd66/pdf project/Chapter5.pdf -------------------------------------------------------------------------------- /pdf project/Chapter6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bhatvinayak/Online-Examination-System/5f4923336031b0920cf2e09add8b4d29bbf5dd66/pdf project/Chapter6.pdf -------------------------------------------------------------------------------- /pdf project/appendix.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bhatvinayak/Online-Examination-System/5f4923336031b0920cf2e09add8b4d29bbf5dd66/pdf project/appendix.pdf -------------------------------------------------------------------------------- /pdf project/chapter3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bhatvinayak/Online-Examination-System/5f4923336031b0920cf2e09add8b4d29bbf5dd66/pdf project/chapter3.pdf -------------------------------------------------------------------------------- /pdf project/chapter4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bhatvinayak/Online-Examination-System/5f4923336031b0920cf2e09add8b4d29bbf5dd66/pdf project/chapter4.pdf -------------------------------------------------------------------------------- /report/Abstract.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bhatvinayak/Online-Examination-System/5f4923336031b0920cf2e09add8b4d29bbf5dd66/report/Abstract.docx -------------------------------------------------------------------------------- /report/Appendix A.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bhatvinayak/Online-Examination-System/5f4923336031b0920cf2e09add8b4d29bbf5dd66/report/Appendix A.docx -------------------------------------------------------------------------------- /report/Bibliography.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bhatvinayak/Online-Examination-System/5f4923336031b0920cf2e09add8b4d29bbf5dd66/report/Bibliography.docx -------------------------------------------------------------------------------- /report/Certificate.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bhatvinayak/Online-Examination-System/5f4923336031b0920cf2e09add8b4d29bbf5dd66/report/Certificate.docx -------------------------------------------------------------------------------- /report/Chapter1.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bhatvinayak/Online-Examination-System/5f4923336031b0920cf2e09add8b4d29bbf5dd66/report/Chapter1.docx -------------------------------------------------------------------------------- /report/Chapter2.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bhatvinayak/Online-Examination-System/5f4923336031b0920cf2e09add8b4d29bbf5dd66/report/Chapter2.docx -------------------------------------------------------------------------------- /report/Chapter5.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bhatvinayak/Online-Examination-System/5f4923336031b0920cf2e09add8b4d29bbf5dd66/report/Chapter5.docx -------------------------------------------------------------------------------- /report/Chapter6.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bhatvinayak/Online-Examination-System/5f4923336031b0920cf2e09add8b4d29bbf5dd66/report/Chapter6.docx -------------------------------------------------------------------------------- /report/chapter3.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bhatvinayak/Online-Examination-System/5f4923336031b0920cf2e09add8b4d29bbf5dd66/report/chapter3.docx -------------------------------------------------------------------------------- /report/chapter4.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bhatvinayak/Online-Examination-System/5f4923336031b0920cf2e09add8b4d29bbf5dd66/report/chapter4.docx -------------------------------------------------------------------------------- /updatepw.php: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | ONLINE EXAMINATION SYSTEM 9 | 10 | 11 | 12 | 64 | 65 |
66 |
67 |

ONLINE 68 | Examination System

69 |
70 |
71 | 83 |
84 | 85 | 86 | 87 | 88 | 89 | alert(\"Database error retry after some time !\")"; 94 | }else{ 95 | if (isset($_POST['submit1'])) { 96 | $usercode1 = $_POST['otp1']; 97 | if ($usercode1 == $sysotp) { 98 | $sql1 = "update " . $type . " set pw='{$password}' where mail='{$dbmail}'"; 99 | if (mysqli_query($conn, $sql1)) { 100 | session_unset(); 101 | session_destroy(); 102 | header("location:index.php"); 103 | 104 | } elseif (!mysqli_query($conn, $sql1)) { 105 | echo ""; 106 | } 107 | }else{ 108 | echo ""; 109 | } 110 | } else { 111 | echo ""; 112 | 113 | } 114 | } 115 | } 116 | ?> 117 | --------------------------------------------------------------------------------