Symbolic variables within email addresses

Embodiments of the disclosure relate to processing email having symbolic variables in the address. Aspects include receiving, by an email server, an email comprising an email address for an intended recipient and determining whether the email address includes a symbolic variable. Based on determining that the email address includes the symbolic variable, the symbolic variable from the email address are extracted, an email address for an additional recipient by querying a database based on the symbolic variable is identified, and the email is transmitted to the email address of the intended recipient and the email address of the additional recipient. Based on determining that the email address does not include the symbolic variable, the email is transmitted to the email address of the intended recipient.

BACKGROUND

The present disclosure relates generally to electronic mail, more particularly, to the injection and resolution of symbolic variables within email addresses.

Email traffic has grown exponentially in recent years. Worldwide, there are 144 billion emails sent each day and 3.3 billion total email accounts. It is projected that the number of accounts will grow to 4.3 billion by the end of 2016. Email is primarily used in the corporate world, and business emails are responsible for 61% of the world's email traffic. Much of the business world relies upon email for communication between people who are not in the same area, country, etc. Telephone calls, conference calls, and in-person meetings can cost both time and money. Email provides a way to exchange information between two or more people that may be located in different parts of the world with no set-up costs.

Currently, it is often difficult to locate the email addresses of individuals on the receiving end of the email. The process of manually searching for an individual's email address is inefficient and usually time consuming. This is especially true when sending an email to more than one person. Current techniques for electronic distribution and email list automation require the sender to perform the look-up and selection process of the names or email addresses of the intended recipients.

SUMMARY

According to yet another embodiment, a mail server for processing email including a processor configured to perform a method. The method includes receiving an email comprising an email address for an intended recipient and determining whether the email address includes a symbolic variable. Based on determining that the email address includes the symbolic variable, the method includes extracting the symbolic variable from the email address, identifying an email address for an additional recipient by querying a database based on the symbolic variable, and transmitting the email to the email address of the intended recipient and the email address of the additional recipient. Based on determining that the email address does not include the symbolic variable, transmitting the email to the email address of the intended recipient.

DETAILED DESCRIPTION

In accordance with exemplary embodiments of the disclosure, methods, systems, and computer program products for the utilizing symbolic variables within email addresses are provided. In exemplary embodiments, symbolic variables are utilized to allow a sender to send an email to one or more recipients without knowing, or having to look up, the email address of the recipients. In other embodiments, symbolic variables can be used to address an email to a known or unknown recipient based on attributes of the recipients, such as job title, skills, experience, qualifications, etc. In other embodiments, the symbolic variables may be used for automatic posting to social media and other file hosting sites. In exemplary embodiments, the methods, systems and computer program products for utilizing symbolic variables within email addresses may be configured for use on any electronic mail device, such as smartphones, tablets and computers.

Thus, as configured inFIG. 1, the system100includes processing capability in the form of processors101, storage capability including system memory114and mass storage104, input means such as keyboard109and mouse110, and output capability including speaker111and display115. In one embodiment, a portion of system memory114and mass storage104collectively store an operating system such as the AIX® operating system from IBM Corporation to coordinate the functions of the various components shown inFIG. 1.

The syntax commonly used for email addresses is generally set forth in a protocol known as an Internet Message Format (IMF). Generally, the format of the email addresses is local-part@domain, wherein “local-part” may be up to 64 characters long and the “domain” name may have a maximum of 253 characters. In addition, the entire email address is restricted to no more than 254 characters. The “local-part” of the email may include the use of any of the ASCII or UNICODE, UNICODE characters and any special characters used must be contained between quotation marks and must also be preceded by a backslash. In addition, the IMF provides that comments may be included in the email address and can be located with parentheses at either end of the local part. For example “johndoe(comment)@example.com” and “(comment)johndoe@example.com” are both equivalent to “johndoe@example.com.”

Referring now toFIG. 2, a block diagram illustrating a system200for processing email having symbolic variables in the email address in accordance with an embodiment is shown. As illustrated, the system200includes a sender's device202, a sender's mail server204, a receiver's mail server206, and a receiver's device212. During traditional email usage, a sender drafts an email to a recipient and provides an email address for the recipient, for example johndoe@company.com. The sender's device202transmits the email to the sender's mail server204. If the domain of the recipient of the email is not the same as the sender's domain, the sender's mail server204transmits the email to the receiver's mail server206. The receiver's mail server206then transmits the email to the receiver's device212. If the domain of the recipient of the email is the same as the sender's domain, the sender's mail server204transmits the email to the receiver's device212.

In exemplary embodiments, the system200is configured to allow a sender to send an email to one or more unknown individuals based on their relationship to a known recipient by including symbolic variables in the email address of the known recipient. In exemplary embodiments, the symbolic variables may be located in the comment field of an email address. For example, the email address “johndoe@company.com” can be modified to “johndoe(symbolic)@company.com.” In other embodiments, the symbolic variables may be included in another portion, or field, of the email address. For example, the symbolic variable may be incorporated in email addresses that have extended local or domain names.

In exemplary embodiments, the receiver's email server206includes a policy engine208that is configured to resolve the symbolic variables included in the email address provided by the sender. In exemplary embodiments, the policy engine208is configured to communicate with a database210that can be used to look up data needed for resolving the symbolic variables. In exemplary embodiments, the database210may be part of the receiver's email server206or may be separate from the receiver's email server206.

In exemplary embodiments, the sender's email server204may also include a policy engine214that is configured to resolve the symbolic variables included in the email address provided by the sender. In exemplary embodiments, the policy engine214is configured to communicate with a database216that can be used to look up data needed for resolving the symbolic variables. The policy engine214of the sender's email server204may be used to resolve the symbolic variables included in the email address when the recipient of the email is within the same domain as the sender, i.e., when the sender and the recipient share the same mail server. In exemplary embodiments, the database216may be part of the sender's email server204or may be separate from the sender's email server204.

In exemplary embodiments, the symbolic variables include multiple elements. The elements can include, but are not limited to, address section identification, a control character, and a relationship to the known recipient. In exemplary embodiments, the address section identification is an indication of the section of the email address where the resolved name should appear, i.e., to, cc, bcc.

In exemplary embodiments, the control character is a character used to denote a symbolic process and different control characters will have different meanings. In one embodiment the control character may be an ampersand “&.” Since the definition of “&” means the conjunction word “and,” the ampersand can be used to indicate that the sender would like to add recipients via a relational alias. In other embodiments, various other control characters may be used.

In exemplary embodiments, the relationship to the known recipient may be an organizational relationship contained in a personnel directory that is stored by the mail server or on a database accessible by the mail server. In addition the relationship could include job roles, skills, or other extended relationships. The relationship to the known recipient can be used to specify the level in the organization the relationship applies and/or whether the relationship is limited to a management chain. In exemplary embodiments, the level can be a number (such as 1 for first line and 2 for second line), a relational number (such as +2 for 2 line organizational levels above the person), or a relational symbol (for instance “<” for all below (default), “>” all above”). In exemplary embodiments, a differentiation between management and organization members can be performed by using a keyword. For example, a manager may be referenced using a keyword of manager, or a short form of MGR or M, and an organization can be referenced using a keyword or organization, or a short form of ORG or O. In exemplary embodiments, since the local name part of an email address including the comment is limited to 64 characters, short forms of keywords may be preferable.

In one embodiment, a sender knows an email address of an intended recipient and wants to send an email to the recipient and wants to copy to the recipient's manager but the sender does not know the manager's name or email address. In this case, the sender inserts symbolic variables into the email address of the known recipient to send the email to the recipient and to his manager, for example “johndoe(&CC:1MGR)@company.com” or “johndoe(&C:1M)@company.com.” In another embodiment, to send a copy to the second line manager of the recipient but not the first line the following email address can be used, “johndoe(&CC:2MGR)@company.com.” In another embodiment, to send a copy to the first and second line manager of the recipient the following email address can be used, “johndoe(&CC:2>MGR)@company.com” or “johndoe(&C:2>M)@company.com.”

In exemplary embodiments, the policy engines208,214are configured to extract the symbolic variables included in an email address and to query databases210,216to identify additional recipients based on the symbolic variables and the email address of the known recipient. Once the policy engines208,214has identified the additional recipients based on the symbolic variables, the engines208,214inserts the email addresses for the additional recipients into the proper address section of the email as specified by the address section identification.

In exemplary embodiments, the policy engines208,214may be configured to perform additional processing based on the symbolic variables in the email address. The additional processing may include further refinements of the selection of recipients using complex, math/set theory combinations of other relational attributes, such as other attributes in the database210,216or a personnel directory stored on the mail server. In exemplary embodiments, these other attributes may include, but are not limited to, job responsibilities, job title, job role, location, experience, qualifications, expertise, biography, certifications, credentials, patents, skills, projects, teams, communities, and professional organizations. In one embodiment, a sender wants to send an email within his own second line organization to everyone who has Java skills. The sender can use the following email address “myself(&TO:2ORG>+SKILLS=JAVA)@company.com” or “myself(&T:2>O+S=JAVA)@company.com.”

In exemplary embodiments, the symbolic variables may be entered into an email address in several different ways. For example, the symbolic variables may be entered into an email address by manually typing the symbolic variables, cutting and pasting the symbolic variables or via a graphical interface of the email program that allows for selection of the symbolic variables. Another embodiment would allow entry of a person's name or nickname in the comment area as a starting point for additional filtering. For example, sender can use the following email address to email people whose manager is “manager name” and that have Java skills “myself(&manager name&ORG>+SKILLS=JAVA)@mycompany.com.”

In exemplary embodiments, the policy engines208,214may be configured to perform additional processing during the resolution of the symbolic variables. The additional processing may include, but is not limited to, context checking and security verification. In exemplary embodiments, the amount and type of additional processing may depend on whether the relational recipient is within the same domain (intranet/intra-domain) as the sender or not (internet/inter-domain).

In one embodiment, as a sender types an email, an email program can communicate with a mail server to check if a symbolic variable is used and if the recipient is within the same domain, firewall or organization as the email originator. If so, the mail server will perform security or authority checking, to verify that the sender has access to the same information via a personnel look-up program and/or if the request violates any corporate personnel or security policies. If processing is allowed, the policy engine may populate the resolved name(s) prior to the email being sent by the sender. For example, the policy engine may display the resolved email address for an additional recipient to the sender of the email. In other embodiments, the policy engine could, for security reasons, also allow forwarding without populating the list. In exemplary embodiments, the use of symbolic variables provides an easy to use internal automatic look-up mechanism that would eliminate the need for manual searches outside the email program. In intra-domain embodiments, the resolved names from the symbolic variables are not populated prior to sending the email, rather the symbolic variables will be sent as part of the email to the relational recipient. Upon receipt of the email, the receiver's mail server will process the symbolic variables.

In exemplary embodiments, the policy engines208,214are configured to execute one or more security policies to protect against security threats, such as phishing. In one embodiment, the policy engine may be configured to warn a recipient if an email was sent to them as a result of being a resolved address. For example, the policy engine may insert “&RESOLVED_ADDRESS” or “RESOLVED symbolic” in the comment area of the email delivered to the recipients. In one embodiment, the policy engine may be configured to use existing spam controls to block requests. For example, the policy engine may block a person, a domain, a locality, or an IP addresses doing multiple requests, etc. In one embodiment, the policy engine may be configured to disallow symbolic requests as an overall policy.

In one embodiment, the policy engine is configured to insert “RESOLVED_SYMBOLIC” in the comment area of the email delivered to the recipients. For example, assume that a person from outside of an organization sends an email to johndoe(&CC:1MGR)@company.com. The policy engine would resolve the symbolic variable and add the manager, manager(RESOLVED_SYMBOLIC)@company.com, to the email sent to John Doe. If John were to reply to all to the email sent, the person outside of the company may now be able to see the email address of John's manager. In exemplary embodiments, the policy engine is configured to prevent the managers email address from being disclosed in replies to the original message. For example, the policy engine may remove the managers email address, put the managers email address in bcc list, replace the managers email address with an appropriate symbolic variable, or the like.

In one embodiment, when the symbolic variables are resolved, the names of the additional recipients added could be injected into distribution list in a similar fashion as a group name or other alias. In other embodiments, for security reasons the sender of the email, if from outside the firewall or outside the organization, may not be allowed to see if the symbolic variables were resolved or the resolved recipients names.

In exemplary embodiments, the mail server may be configured to use the symbolic variables to automatically post content to a social media service. In one embodiment, a control character of the symbolic variable may be a social network indicator. For example, if the control character is a hashtag symbol, “#′,” the mail server may be configured to post the email to a specific social network. For example. #FACEBOOK or #FB may result in the contents of the email being posted to the sender's Facebook page. Likewise, #TWITTER or #TW may result in the contents of the email being posted to the sender's Twitter feed. In exemplary embodiments, other control characters may be used to represent other symbolic processes.

In exemplary embodiments, the policy engine of a mail server may be configured to store recent or more popular symbolic variables and associated email address. Accordingly, upon detecting one of the stored symbolic variables, a static versus dynamic (resolved each time the symbolic is used/resend) look-up can be used. In exemplary embodiments, the policy engine may include learning or predictive system to determine which symbolic variables and email addresses to store. In exemplary embodiments, the symbolic variables may also be used by the mail servers to trigger other functional processing in a mail server in addition adding recipients to the email.

Referring now toFIG. 3, a flow diagram of a method300for processing email having symbolic variables in the email address is shown. As illustrated at block302, the method300includes receiving an email by a mail server. Next, as shown at decision block304, the method300includes determining if the email address of the email includes a symbolic variable. If the email address of the email does not include a symbolic variable, the method300proceeds to block306and transmits the email to the intended recipient. If the email address of the email does include a symbolic variable, the method300proceeds to decision block308and determines if the security settings allow the use of symbolic variables. If the security settings allow the use of symbolic variables, the method300proceed to block310and extracts the symbolic variables from the email address of the intended recipient. If the security settings do not allow the use of symbolic variables, the method300proceeds to block306and transmits the email to the intended recipient.

Continuing with reference toFIG. 3, as shown at block312, the method300includes querying a database based on the symbolic variables to identify additional recipients. As shown at block314, the method300includes inserting the email addresses for the additional recipients into the email. In one embodiment, the method300may include preforming additional processing based on the symbolic variables, as shown at block316. As shown at block318, the method300includes transmitting the email to the intended recipient and the additional recipients. In one embodiment, the method300may include transmit the email to the intended recipient and posting the email to a social network, as shown at block320.

According to one embodiment, the symbolic variables allow the end user to create entries in electronic distribution list or email group without knowledge of the recipient's name or email address. The end user only needs to know the relationship to an intended recipient. According to another embodiment, complex math set theory combinations of relational attributes can be performed to provide filtering, based on a known or unknown recipient. This allows the end user to quickly locate and contact the correct individual or group without manually using a look-up technique.