MassEmail is a project designed for the Information Technology and Management Department (ITM) of the Illinois Institute of Technology (IIT) to ease the sending of mass e-mail announcements to department students, whether undergraduate, graduate or both.
The website can be found at http://diamond.sat.iit.edu/MassEmail/. As it is a PHP-based website, the URL is case-sensitive.
I. The MassEmail Database
For those who hold the proper credentials, the database can be found at http://diamond.sat.iit.edu/phpmyadmin/. Upon successfully logging in, look for a database called ΓÇ£massemailΓÇ¥ (all lower-case).
The ΓÇ£massemailΓÇ¥ database consists of three tables:
- ΓÇ£useradminsΓÇ¥ stores the users who are permitted to use the site. Maintenance of the users is handled directly onto this table.
- ΓÇ£usernameΓÇ¥ ΓÇô the LDAP username.
- ΓÇ£namefirstΓÇ¥ ΓÇô the userΓÇÖs first name.
- ΓÇ£namelastΓÇ¥ ΓÇô the userΓÇÖs last name.
- ΓÇ£email_firstΓÇ¥ ΓÇô the userΓÇÖs primary or preferred IIT e-mail address. Users may use only IIT-related e-mail addresses to send e-mails via the MassEmail website.
- The remaining fields (ΓÇ£id_useradminΓÇ¥, ΓÇ£datecreatedΓÇ¥, ΓÇ£dateupdatedΓÇ¥) are populated automatically.
- ΓÇ£studentsΓÇ¥ stores the outgoing mailing list, consisting of IIT ITM students. We update this table via the MassEmail website by uploading data from a CSV file.
- ΓÇ£emailΓÇ¥ ΓÇô the studentΓÇÖs email address.
- ΓÇ£nameΓÇ¥ ΓÇô the studentΓÇÖs full name.
- ΓÇ£statusΓÇ¥ ΓÇô this field determines whether the student is either ΓÇ£GraduateΓÇ¥ or ΓÇ£UndergraduateΓÇ¥.
- The remaining field (ΓÇ£id_studentsΓÇ¥) is populated automatically.
- ΓÇ£test_studentsΓÇ¥ is an alternate, ΓÇ£testΓÇ¥ version of the ΓÇ£studentsΓÇ¥ table, with the same exact field structure, consisting of ΓÇ£fakeΓÇ¥ data. This is used for trouble-shooting. (An alternate version of this project, ΓÇ£MassEmailTestΓÇ¥, may be used for this purpose.)
II. The MassEmail Login</p>
Users simply login at MassEmail with the same username and password which they use at ΓÇ£my.iit.edu" and other IIT web portals.
The Mass email first checks the username against the database; then it checks both username and password against the LDAP system. (We store only usernames and not passwords in the ΓÇ£massemailΓÇ¥ database.)
Upon a successful login, the user is greeted with the following options:
- Upload Student Mailing List
- Send a Mass E-Mail to Students
These options also appear throughout the site in the navigation section.</p>
Throughout the website, you may see a note indicating the last time the ΓÇ£studentsΓÇ¥ table was updated (based on information from the live database). Because the user might first want to determine whether the mailing list data is fresh and up to date, we shall next discuss ΓÇ£Upload Student Mailing ListΓÇ¥.
III. Upload Student E-Mailing List
The mailing list is based on a query run off the Cognos system, which should generate a CSV file consisting of the following data fields in the following order:
- Student e-mail address
- Student name
- Student status (Graduate or Undergraduate)
You may name the CSV file anything you wish, as long as you are able to locate it easily within your system. Upon downloading the CSV file to your computer, you would then upload the data from this file to the ΓÇ£massemailΓÇ¥ databaseΓÇÖs ΓÇ£studentsΓÇ¥ table via the ΓÇ£UploadΓÇªΓÇ¥ page in the following steps:</p>
- Browse for your CSV file.
- Click ΓÇ£Upload Mailing ListΓÇ¥.
Behind the scenes, the website instructs the database to truncate (delete) all the old data from the ΓÇ£studentsΓÇ¥ table and add new records to the table, one at a time, automatically skipping over any CSV record with a blank e-mail address.</p>
Upon a successful update, an alert should appear stating that the data was updated. Click ΓÇ£OKΓÇ¥ and you return to the ΓÇ£UpdatingΓÇªΓÇ¥ page, where you should notice that the time and date has changed into the current one for when the mailing list was last updated.
IV. Sending a MassEmail
We take you through a simple four-stage process for sending a mass e-mail to your students.
You have the option of sending your e-mail under your own name and e-mail address or under a generic department-level e-mail address [currently to be determined]. Make your choice and click ΓÇ£Go to Step 2 of 3ΓÇ¥. </p>
You have the option of sending your e-mail to either one of the following:</p>
- All Students
- Undergraduate Students
- Graduate Students
Simply make your choice.</p>
If necessary you may copy your e-mail to others. If so, in the textbox enter at least one e-mail address (no names). If more than one e-mail address, please use only commas to separate them. Otherwise, please leave this box empty.
All ΓÇ£TOΓÇ¥ e-mail addresses, whether students or copies, appear in the BCC (Blind Carbon Copy) queue. Each recipient would see the phrase ΓÇ£undisclosed recipientsΓÇ¥ in the actual ΓÇ£TOΓÇ¥ queue.
When you are satisfied with your choices, click ΓÇ£Go to Step 3 of 3ΓÇ¥.</li>
Here is where you compose and send your mass e-mail.</p>
- ΓÇ£SubjectΓÇ¥ is required.
- ΓÇ£MessageΓÇ¥ (the body of the e-mail) is required. Here you have the option of formatting whatever font you may choose within the body.
- ΓÇ£AttachmentΓÇ¥ is optional. Only one attachment is allowed for each mass e-mail. Otherwise, leave this option blank.
When you are satisfied with your e-mail, click ΓÇ£SEND EMAILSΓÇ¥. </p>
- The Alert Message
An alert should appear, telling you how many student emails were sent, how many copies if any were sent, and whether or not an attachment was sent as well. Upon clicking ΓÇ£OKΓÇ¥, you return to the Step One page of the e-mailing process.
At any point during your visit, you may simply click ΓÇ£LogoutΓÇ¥ in the navigation panel, and you are done.
VI. Developer Hints (Troubleshooting and Configuration)
About This Site
MassEmail was developed using straight-forward, procedural PHP. A MySQL database drives this project.
Although MassEmail is not a necessarily an MVC project or uses any special frameworks, the developer adapted a few basic file management principles from such projects. For example, much of the HTML development is found in the ΓÇ£viewsΓÇ¥ directory.
The developer created a ΓÇ£configΓÇ¥ directory to store some general configuration variables and processes applied and reused throughout the website. Often the developer used the files within ΓÇ£configΓÇ¥ to toggle between live and test versions of the project. Many of these files are ΓÇ£includedΓÇ¥ at the top of the web pages -- often in a certain sequence as one file may depend on variables populated in another file. In the event that his project and its database may be relocated to another server, appropriate changes may be made to these files.
The E-Mail Body: Courtesy of TinyMCE
The ΓÇ£WYSIWYGΓÇ¥ interface currently in use for the body portion of the outgoing e-mails is based on an editor called TinyMCE, developed by MoxieCode Systems AB. For updates and other issues regarding TinyMCE, we suggest that you visit http://www.tinymce.com/.
The login system (ajax_login.php and related files) is based on material from http://roshanbh.com.np.