User Tools

Site Tools


start

WHAT IS EMAIL CONFIGURATION

Email configuration is receiving an email and being able to do something about it.

1.1 Contextualize a message for the consultant
example:
	institutionId: 22
		This is the institution Id
	subject: Chemical Engineering Assessment
	intent: ConsultantMessage
		The intent is meant to send the contextualized "message" to a consultant
	scope: []
	message: "Urgent: UP Engineering Assessment. Encourage the learner to take the assessment before the closing date". 
	QA: true
		If QA is true, the config has been tested and is working. If false, the config has not been tested
	bodyFilter: Chemical Engineering Assessment
		This is a unique text taken from the Body/HTML of the email
	pdfFilter: Online Chemical Engineering Assessment
		This is a unique text taken from the attachment of the email. Recommended that you use REster, pdftext API to select the text
		
1.2 Contextualize a message for the learner
	example:
		institutionId: 22
			This is the institution Id
		subject: Chemical Engineering Assessment
		intent: ApplicantMessage
			The intent is meant to send the contextualized "message" to the learner
		scope: []
		message: "Hi {name},
				Thank you for paying your booking fee. Your room is secured! 🎉
				In the new year, if you choose to reside at the Respublica residence of your choice, you will have to check in before lectures commence. 
				Tips on check-in will be provided, closer to the time."
				
			This is the message that will be on the ticket
		QA: true
			If QA is true, the config has been tested and is working. If false, the config has not been tested
		bodyFilter: "Chemical Engineering Assessment"
			This is a unique text taken from the Body/HTML of the email
		pdfFilter: "Online Chemical Engineering Assessment"
			This is a unique text taken from the attachment of the email. Recommended that you use REster, pdftext API to select the text

NB: This email configuration will create a ticket for a consultant/ team. The ticket will be sent via email to the technical support consultant. Then the technical support consultant will forward it to the relevant team lead

1.3 Validate the status of an application
	example:
		institutionId: 22
		subject: Acceptance Letter
		intent: ValidStatus
			Check what is the current status of the application 
		scope: [
				name: applicationstatus
					name: reference relates to what will be extracted from the email
				section: constant
					constant means this value remains the same
				value: Provisionally Accepted
				]
		pdfFilter: been conditionally allocated to you
		QA: true

This email config verifies that when we receive this email with all these settings it will create an intent_discovery for the user to the value Provisionally Accepted as well as add the institution to the PAInstitution & SoftOffer columns for the user

	
	
1.4 Validating the data
	example:
	institutionId: 22
		subject: Confirmation of Application
		intent: ValidData
			Verify if the data from an email was captured correctly to the matrix
		scope: [
				name: username
					name: reference relates to what will be extracted from the email
				section: body
					body means everything that appears in the freeform box, including salutation and all the content in the email
				startafter: enter your username (
					startafter setting tells the code to start after the words
				endlength: 9
					endlength is how long the username is
				endbefore: ) and newly
					endbefore setting tells the code to end before the words
				]
		QA: true

This email config verifies that when we receive this email with all these settings it will create an intent_discovery for the user to have username. It will include the password and reference if the settings for these were included.

1.5 Ignoring an email
	example:
		institutionId: 22
		subject: Chemical Engineering Webinar
		intent: Igonre
			Do nothing once this type of email has been received
		scope: []
		QA: true
			If QA is true, the config has been tested and is working. If false, the config has not been tested
			

This email config will ignore the email if it comes through and do nothing about it. Of course, you are allowed to include more settings like pdfFilter or bodyFilter

NB: All email configurations should be unique so that there is no confusion in the code. All ApplicantMessage intents should be reviews yearly as some of them contains date and these needs to be reviewed.

USEFUL INFORMATION

Please review this yearly and always read the emails as this is subject to change

  1. SMU Offers: +/-3 days —- Sent both SMS and email
  2. UWC Offers: +/-3 days
  3. Wits Offers: +/-5 days
  4. Unisa Offers: +/- 10 days
  5. UFS Science Faculty Offers: +/- 5 days
  6. UFS Other Faculties: +/- 3 days
  7. SPU Offers: +/- 5 days —- Sent by SMS first then by email
  8. VUT Offer: +/ 5 Days

When you search for an email from the message collection

1. Wits(Attachment): (exact match)

  1. UW_AD_UGAA_N.pdf —- Outstanding Docs (Application fee, HS certificate)
  2. UW_AD_UGF0_N.pdf —- Firm Offer
  3. UW_AD_UGD6_N.pdf —- Waiting for Gr12 results
  4. UW_AD_UGD4_N.pdf —- Submit final academic record and certificate of good conduct
  5. UW_AD_UGD3_N.pdf —- Waiting for Gr12 results (Education)
  6. UW_AD_UGPR_N.pdf —- Provisional Acceptance
  7. UW_AD_UGS2_N.pdf —- NBT reminder for HS
  8. UW_AD_UGS1_N.pdf —- NBT reminder for BSc & Speech
  9. UW_AD_UGS4_N.pdf —- Architectural Studies' exercise → link provided in the attachment
  10. UW_AD_UGR15N.pdf —- ???
  11. UW_AD_PGDF5.pdf —- Postgraduate Outstanding documents (For learners applied for PG studies)
  12. UW_AD_UGR11N.pdf —- Architectural Rejection based on not submitting the exercise or attending the interview
  13. UW_AD_UGD8_N.pdf —- Waitlist
  14. UW_AD_UGR19N.pdf —- Rejected
  15. UW_AD_UGD4_N.pdf —- registered learner applying for another qualification
  16. UW_SF_BALSPO.pdf —- Overdue fees for registered learners
  17. UW_AD_UGR7_N.pdf —- Rejected (Grade 14 or transitioning from another university)
  18. UW_AD_PGA2_N.pdf —- Postgraduate qualifications

2. SU(Attachment): (partial match)

  1. PROVISIONAL_OFFER_LETTER_ —- Provisional Acceptance
  2. Offer_Letter_ —- Firm Offer

3. UCT(HTML): (partial match)

  1. CONDITIONAL OFFER OF A STUDY PLACE FOR —- Provisional Acceptance
  2. OFFER: CONDITIONAL OFFER OF A STUDY PLACE —- Provisional Acceptance
  3. OFFER: STUDY PLACE FOR —- Firm Offer
  4. CONFIRMATION OF OFFER —- Firm Offer

4. RU (Attachment): (partial match)

  1. TT —- deposit has been waived because, on the application, you indicated you would be applying for NSFAS
  2. AP —- Waitlist
  3. O1 —- Provisional Acceptance (Ask Lusani, this is a conditional offer between
  4. FF —- Outstanding documents
  5. RE —- Rejected
  6. LW —- Offer that will expire in the next two weeks

5. UP(Attachment): (partial match)

  1. _M06.PDF —- Medicine email that only you will be considered if medicine was the first choice
  2. _M08.PDF —- HS Scie Conditional Acceptance
  3. ??.PDF —- HS Waitlist
  4. _A67.PDF —- Confirmation email that you meet the minimum requirements and doesn't guarantee admission to the program
  5. _AA5.PDF —- Confirmation email containing student number
  6. _M40.PDF —- Biographical Information for Health Qualification
  7. _A44.PDF —- Conditionally Admitted
  8. _A42.PDF —- Conditionally Admitted (Computer Science & Engineering) - department specific
  9. _A41.PDF —- Admitted
  10. _A31.PDF —- Rejected because Medicine or HS qualification was not a 1st choice
  11. _W00.PDF —- Residence placement reservation
  12. _V00.PDF —- Vet Scie
  13. _H17.PDF —- Drama auditions
  14. _H12.PDF —- Mandotary selection ID
  15. _AI5.PDF —- Visa Issuity Authority (Not config)
  16. _A68.PDF —- Waitlist or Programme Full (For Engineering and Computer Science) - department-specific

6. NWU(pdf): (exact match)

  1. PVA006.pdf —- Conditionally Acceptance
  2. PVA014.pdf —- Acceptance
  3. PVA002.pdf —- Programme Full (Met requirements, however, due to capacity) for education
  4. PVA002.pdf —- Rejected based on a selection process (For selection programs)
  5. PVA007.pdf —- Assessment/Interview
  6. PVA018.pdf —- Outstanding Docs
  7. PVA003.pdf —- Referred to the relevant faculty (Pending) — could also mean that there are docs missing
  8. AAA103.pdf —- Application deleted (welcome to apply again)

7. UFS (Attachment): (exact match)

  1. DENYUGRD2019.pdf —- Rejected
  2. UFS_DDEF.pdf —- Pending
  3. CONDLETCOV.pdf —- Conditional
  4. UV_ADMIT_COV.pdf —- Accepted

CPANEL NAVIGATION

What to do when emails are stuck, and no user is receiving any incoming emails?

  1. Log in to the cPanel account
  2. Click on “Email Accounts”
  3. In the search textbox, enter “unlimited”
  4. Click “Check Email” for the respective domain. This action will lead you to the unlimited account

Check if the mailbox is empty. If it is, this indicates that emails are coming through. Alternatively, the emails might be in the spam filters.

Navigating to Spam Filters

You would only use this if a specific email doesn't come through. Examples of emails that were stuck here in the past were Sasol emails, WSU emails, and mostly bursary emails.

  1. From cPanel, navigate to Professional Spam Filters
  2. Click on the admin.bridgeapp.co.za domain
  3. n the left-side menu bar, click on “Spam Quarantine”

Use the Query Rules:

  • You can search using a From, Recipient, Subject, etc. These options can be selected from the drop-down menu. Use any information available.
  • You can decide whether to use an exact match or contains. These options can be chosen from the drop-down list.
  • Then, in the textbox, you may paste the From, Recipient, or Subject.

If the email(s) are found, you need to add the email address to Global Filters (This is explained at the bottom, describing what it is and how to work with it). Adding it to Global Filters ensures that the From address is not considered as spam anymore.

If the email is not found in the spam quarantine, navigate to Track Delivery.

Track Delivery Navigation

Here, you are checking if the email did come through; however, it is not visible to the user.

  1. From cPanel, navigate to Track Delivery

Here you'll see all emails that have come through for users

  • The Event column is color-coded:
  • the green email has been received,
  • the red email did not get sent; however, gradesmatch received it. In this case, reach out to Lusani.
  • and the grey email means the email has been greylisted.

The list gets deleted within 10 days of receiving the email.

This is to check if the email was received or not. If the email address does not appear here, it means the issue is not with Gradesmatch but is external.

Global Email Filters

Global Email Filters are emails that usually arrive broken; they come either without a To address or are marked as spam, and Gradesmatch wants them not to be marked as spam. Additionally, these emails come via the queue. Queued emails mean that they first come to cPanel and then go to the user's inbox, while piped emails go straight to the user's inbox.

  1. From cPanel, navigate to Global Email Filters
  2. Click on “edit”
  3. Scroll to the end, click the “+” button if you want to add or “-” if you want to remove an email address
  4. When you add, make sure the rules follow exactly like others. Change “or” to an “and” and “contains” to “does not contain”
  5. Click save

When Email Accounts (unlimited account) is Full

This indicates that emails are stuck and not getting sent to the user's inbox.

In this case, you need to browse through all the emails. If you see an email with the subject “[Uj-febe]” or “[Uj-listvj]” this is what causes emails to be stuck. You need to manually remove all the emails from the inbox, move them to another folder, and then manually move other emails back to the inbox. Watch these emails move and disappear.

If they don't disappear, navigate to MongoDB, gradesmail.reademailsession.

In the document, check the InSession field. If it's false, this means that there will be no movement of emails from cPanel to the message collection. Change the InSession from false to true. The system usually does this change automatically. However, when the emails have been stuck for a long time, as the sessionLength will confirm, the InSession will give up and remain false.

This unfortunately needs to be done manually.

These emails, “[Uj-febe]” or “[Uj-listvj]” I let them sit in the moved folder as they are not urgent and the users have a backup to see the emails through institution email. These emails are mostly for registered users.

Navigation of failed_messages

From MongoDB, navigate to “failed_messages.” These are emails that we received but without a To-address. You can sort by CreatedTime:-1. You'll then find how many learners should receive the email. If the message is important and the learner should receive it, you need to email the institution and request all the email addresses from the Gradesmatch domain.

Here is a template message:

Good afternoon Megan,

My name is Nqophisa Mtshonisi, an email _data consultant_ from Gradesmatch. At Gradesmatch we produce educational technologies that assist students with career guidance and applying to higher learning institutions. As part of the process, we provide our users with a unique email address that they can access and we notify them via WhatsApp or SMS when a new email is received so they may read it and track it. The domain name we use is @gradesmatch.com, for example, nqophisam@gradesmatch.com could be a version for myself if I were a student.

We received an email with the subject “Provisional Acceptance to study at Nelson Mandela University 2024 - Medical Evaluation and Acceptance of Offer Forms” from you, however, our technology was unable to allocate the email to the correct learner and thus notify them as it did not have a clear “To” address. I would like to assist with helping you connect with the correct learners with this subject. As mentioned earlier, our email domain is @gradesmatch.com so if you send emails to those learners, you may share it so I may ensure they receive the correct emails and are able to adequately take note or respond to your email.

If you have any questions please feel free to contact me

NB: You will always need to edit the underlined. When you send the email always cc Unathi and Lebo. Remember that Stellies, NWU, and UFS will not share any information because of the POPI Act. Institutions other institutions are more accepting.

APS Calculator

https://docs.google.com/document/d/1P-TBXKihbQ40zWhjeML_bb-PIRytZGPMqDqnM5UgzoA/edit

Institutionemail

This is a collection on MongoDB, gradesmatch_reference.institutionemail

If an institution on message collection has the field of InstitutionName as “other” then the institution email needs to be added to the institutionemail collection. Follow how other documents are done.

Central Application Institution

This is a collection in MongoDB, gradesmatch_reference.central_application_institution. The collection is designed for different institutions that share the same email address, allowing Gradesmatch to distinguish their communication.

If the institution belongs to CAO or Coltech, it needs to be added to the relevant document within central_application_institution.

Assuming we want to add “Gradesmatch Institution” to Coltech:

  1. From the central_application_institution collection, navigate to the “Coltech Application Admin” document.
  2. Add the InstitutionId of “Gradesmatch Institution” to the InstitutionIds field.
    1. If you don't know the Gradesmatch Institution Id, find it in the gradesmatch_reference.institution collection by filtering it by its name.
  3. Add the settings to the Institutions field.

{

    "ID": 896254,
    "Abbreviation": "GM Inst",
    "Name": "Gradesmatch Institution",
    "Search": [
      "Gradesmatch Institution",
      "Gradesmatch"
    ]
  }

Search is an array, and you need to find the unique text within the email that differentiates the institution from other communications originating from the From address.

MONGO QUERIES FOR FIRM OFFERS

Query to find the offers for: VUT, UNIZULU, SPU, SMU, CUT, UFH

{CreatedTime: {$gt: ISODate('2024-01-19')},InstitutionId: 37,$or: [{ Subject: 'Application Admitted'},{ Subject: 'Application Offered'}]}

Query for Wits:

{CreatedTime: {$gt: ISODate('2024-01-19')},InstitutionId: 30, Attachments:“UW_AD_UGF0_N.pdf”}

Query for UP:

  1. {CreatedTime: {$gt: ISODate('2024-01-19')},InstitutionId: 22, Attachments:/_A41.PDF/}
  2. {CreatedTime: {$gt: ISODate('2024-01-19')},InstitutionId: 22, Attachments:/_AT4.PDF/}
  3. {CreatedTime: {$gt: ISODate('2024-01-19')},InstitutionId: 22, Attachments:/_A39.PDF/}

Query for UWC:

{CreatedTime: {$gt: ISODate('2024-01-19')},InstitutionId: 31, Subject:/Offer to study at UWCCK Ref:/}

Query for UJ:

{CreatedTime: {$gt: ISODate('2024-01-19')},InstitutionId: 28, $or: [{ Subject: 'Univ. of Johannesburg - Orange Carpet Admitted'},{ Subject: 'University of Johannesburg - Admittance Letter'}]}

Query for NWU:

{CreatedTime: {$gt: ISODate('2024-01-19')},InstitutionId: 14, Attachments:“PVA014.pdf”}

Query for NWU:

{CreatedTime: {$gt: ISODate('2024-01-19')},InstitutionId: 14, Subject:/Final Acceptance/}

Query for RU:

  1. {CreatedTime: {$gt: ISODate('2024-01-19')},InstitutionId: 17, Attachments:“Offer Confirmed”}
  2. {CreatedTime: {$gt: ISODate('2024-01-19')},InstitutionId: 17, Attachments:/O1/}

Query for UFS:

{CreatedTime: {$gt: ISODate('2024-01-19')},InstitutionId: 21, $or: [{ Attachments: 'UV_ADMIT_COV.pdf'},{ Attachments: 'NAS_FINAL.pdf'}]}

Query for UCT:

{CreatedTime: {$gt: ISODate('2024-01-19')},InstitutionId: 19, Html:/OFFER/}

Query for SU:

{CreatedTime: {$gt: ISODate('2024-01-19')},InstitutionId: 12, Subject:“ADMISSIONS COMMUNICATION FROM STELLENBOSCH UNIVERSITY”, Attachments:/Offer_Letter_/}

In all the queries you'll need to amend the time and institutionId where applicable

start.txt · Last modified: 2024/01/20 18:38 by admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki