METHODS AND SYSTEMS FOR CONFIGURING AN EMAIL ACCOUNT ON AN EMAIL CLIENT
A technique of configuring an email client application to set up a user's email account on the email client application. In one embodiment, the email client application requests the user to input an email address and a password and based on the email address, the email client application determines the corresponding email server providing the email service. Then, the email client searches stored information regarding the email service or server and automatically sets up an email account based on the stored information.
This application claims the benefit of U.S. Provisional Application No. 60/933,777, filed Jun. 8, 2007, hereby incorporated by reference.
TECHNICAL FIELDThis invention relates to methods and systems for setting up an email account on an email client application.
BACKGROUNDAn electronic mail (or email) system provides a way of storing, sending, and receiving messages over electronic communication systems. An email system can be a web-based email system, a client-server email system, or both. A user can have an email account established with an email service, such as one provided by an internet service provider (ISP) or a web-based service provider. The email service is generally provided by way of an email server accessible to a client. The user can access his/her emails through a client-side application.
It has become common for a user to maintain many different email accounts with various email services. For example, a user may maintain an alumni email account with a university email service, an email account with an employer's email service, an email account with a residential ISP, along with an email account with any number of web-based email services. However, rather than learning to use the default email client interface provided by an email service provider, it is frequently more convenient for the user to adopt a single email client application that is feature-rich yet user-friendly and configure that email client application to access their different email services.
Conventionally, the user must first configure the email client application so that the client application can find and connect to the email server providing the email service for which the user has an account. So, the chosen email client application may need to be configured by the user a number of times, once for each subscribed email service and each time presenting the user with the need to input email service configuration information.
In known art, a user needs to provide an email client application with various types of configuration information, such as, the email server's domain name, also referred to as the email service hostname, the email server type indicating the email protocol, the port number, etc. However, a user may not have all of this configuration information available at the time of configuring the email client or perhaps the user is unaware of where such configuration information may be located.
Thus, an easy way of configuring a client-side email application is desirable.
SUMMARYAn aspect of the invention relates to techniques of configuring an email client application to set up a user's email account on the email client application. According to one of the techniques, the email client application requests the user to input an email address, a password. Based on the email address, the email client application determines the corresponding email service. Then, the email client searches stored information regarding the email service and automatically sets up an email account for that email service based on the stored information.
In an embodiment, the stored information provides email service parameters, such as, but not limited to an email service locator (e.g. hostname), email service protocol, email service commercial source identifier, encryption type, port number, authentication type, relay restrictions and email size restrictions. In a further embodiment, the stored information is provided as a local service extension. In an alternative embodiment, the stored information is provided on a remote server and is automatically accessed by the email client application upon receiving a user input of at least an email address. In a particular embodiment, the stored information is provided on a Domain Name System (DNS) server.
In a further embodiment, the email client generates a plurality of permutations of at least the email service hostname and email protocol which are then determined to be valid if attempts to connect to an email server are successful. In a particular embodiment, the email client attempts to connect to an email service identified by the hostname using first Internet Message Access Protocol (IMAP) prior to attempting to connect to the email service identified by the hostname using a Post Office Protocol (POP), such as POP3. Upon receiving a response from a server of the email service server, the account and password may be authenticated.
In another embodiment, an option for the user to select automatic email client application configuration is presented to the user dependent on a prior successful authentication of the email account on the email server. In one such embodiment, the option is provided as a checkbox with the dialog requesting user input of the email address and password. In a further embodiment, display of the option to select automatic email client configuration is dependent on a prior successful authentication of the email account with the email server. The display of the option to select automatic email client configuration may further include display of a commercial name, mark, or logo corresponding to the email service.
In another embodiment, email, such as that stored in an inbox of the email server, is accessed by the email client application and automatically presented to the user in a new window upon successful authentication of the email account with the email server. In one such embodiment, during the accessing of the email, the email client application provides an indication to the user that account configuration or account authentication is occurring to enhance to apparent speed of the email access.
Thus, without asking the user to input a host of technical information to connect to each subscribed email service, the technique introduced here requests only readily accessible information (e.g. email address and password) to be input by the user, from which the user's email account(s) may be set up on the email client application; saving a lot of time and effort for the user.
Described herein are methods and systems for configuring an email account. In the following description, numerous specific details are set forth. However, it is understood that embodiments may be practiced without these specific details. For example, well known equivalent components may be used in place of those described herein. In other instances, well known components have not been shown in detail in order not to obscure the understanding of this description.
Reference throughout this specification to “an embodiment” means that a particular feature, structure, material, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. Thus, the appearances of the phrase “in an embodiment” in various places throughout this specification are not necessarily referring to the same embodiment of the invention. Furthermore, the particular features, structures, materials, or characteristics may be combined in any suitable manner in one or more embodiments.
The present description includes material protected by copyrights, such as illustrations of graphical user interface images. The owners of the copyrights, including the assignee of the present invention, hereby reserve their rights, including copyright, in these materials. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office file or records, but otherwise reserves all copyrights whatsoever. Copyright Apple Computer, Inc. 2007.
To access the email server 102, a user opens an email account with the email service 105. Then, the user needs to configure the email client application 101 so that the user may access, with the email client application 101, the email service 105 provided by the email server 102. As used herein, the configuration of the email client application 101 is also called “setting up” an email account on the email client application. Generally, the method described herein requests a user to provide only the most basic and readily available information and using this information, automatically configures the email client application information stored in server profile database 103. If the email client application cannot be so configured automatically with the readily available and basic information, the system requests more information from the user to set up the email client application.
The server profile database 103 may be implemented in a variety of ways. In one embodiment, the server profile database 103 is implemented as a local service extension to the email client application 101. In another embodiment, the server profile database 103 is implemented as a remote server accessible to the email client application 101. In a further embodiment, server profile database 103 is implemented as a service of a DNS server. In such an embodiment, a DNS server is enabled to respond to queries for more information about the email service settings based on the user entered email address. Such a DNS implementation provides the advantage of good security because the email service provider maintains control of the email service locator corresponding to the email service. In still another embodiment, the server profile database 103 is implemented as both a local service extension, which is first accessed by the email client application and upon failing to find any more information for an email service corresponding to the domain name of the email address, a remote network database is then accessed in an attempt to locate stored information about the email server.
In one embodiment, the server profile database 103 includes a list of parent domain names of various email services along with corresponding email service settings. An exemplary server profile database 203 is depicted in
In one embodiment the only information input to the email client application 101 includes a user's email address, and the password. Based on the email address, a process of the email client application 101 (or a software module integrated with the email client application 101) determines a domain name corresponding to the email address. A process of the email client application 101 then searches the server profile database 103 for that domain name to determine more information about the email service settings rather than requiring the user to provide a set of technical email service settings. Email service settings include, but are not limited to, server name (also referred to herein as hostname) server type (also referred to herein as email service protocol), port number, etc. Based on the returned information, a process of the email client application 101 automatically configures itself to connect to the email server 102 and retrieves the emails from the user's email account with the email service 105.
If however, the process finds a match in the server profile database 103, the method proceeds to operation 310. For example, as shown in
In another embodiment, at operation 307, the process also determines if there is a commercial source identifier entry in the server profile database 103 corresponding to the email service domain name. For example, in email server profile database 203, “logo.jpg” is a commercial source identifier 235 associated with the “domain1.com” email address domain name 205.
At operation 310, the process displays to the user an option for the user to select automatic email client application configuration. In the exemplary embodiment shown in
The process then determines at operation 312, whether to perform automatic setup using the stored information. In the exemplary embodiment depicted in
In still another embodiment, after the user inputs the email address at operation 301, upon changing the focus of input from the text box for the email address 412 to another GUI item (e.g., the text box for inputting the email password 413 or full name 411), the system determines at operation 305 whether the user's account can be automatically set up. Such an embodiment allows the process to perform operations 305, 307 and 310 while the user's attention is on inputting other setup information. This may provide an enhanced user experience because the operations 305, 307 and 310 may be perceived to be faster.
Returning to
If, at operation 318, there is no email service protocol stored or the one that was stored failed to connect at operation 320, the process attempts to proceed with automatic configuration of the email client by generating permutations of email service settings at operation 325. In one embodiment, the permutations may include the email service locator 210 combined with email service protocols, such as POP, IMAP, and SMTP. In another embodiment, the permutations may include the email service locator 210 combined with HTTP. In a further embodiment, the permutations may be ranked by connection preference at operation 327 prior to attempting to connect at operation 320 with the most preferred permutation. In one such embodiment, IMAP is ranked above POP.
For example, because the email address domain name 205 of “domain4.com,” includes no email service protocol 215 stored in the server profile database 203, upon a user entering an email address of “account@domain4.com,” the process generates permutations of the email service protocol, such as those depicted in
In a further embodiment, the process may also generate permutations based on encryption type 625. In one such embodiment, the process further prioritizes encrypted connections over unencrypted connections. For example, as shown in
At operation 320, the process makes an attempt to connect to the email service using the stored email service locator 210 and the stored email service protocol 215 or the most preferred permutation identified at operation 327. At operation 330, the process then determines if a server responded to the attempt to connect. If no response is received within a period of time, the process then determines, at operation 335, if there are any lower priority connection setting permutations that have not yet been attempted. If so, the most preferred permutation is identified at operation 327 and another connection attempt is made at operation 330. In one embodiment, if there is more than one email service locator 210 for an email address domain name entry in the server profile database, all permutations generated at operation 325 are re-tried with each email service locator 210. In a further embodiment, where there is more than one email service locator and a connection has been made with using one of the email service locators, the process further determines if the other email service locator is for an outgoing mail service using an outgoing mail service protocol such as SMTP and attempts to connect to a server hosting this service. If none of the generated permutations connects, the process returns to operation 315 to request additional information from the user to complete the setup. If at least one of the attempts to connect does work, the process proceeds to operation 340 to authenticate the email account with the email service.
At operation 340, the process authenticates the user by trying to login into the account on the email server with the account name and password. For example, for the email address 412 shown in
In an alternative embodiment, the process displays to the user an option to perform automatic configuration only after receipt of an indication that authentication was successful, rather than upon identification of a matching record in the server profile database at operation 307 as is shown in
Proceeding to operation 350, the process automatically completes configuration of the authenticated email account in the email client application, connects to the email server, and accesses the user's emails on the email service.
At operation 355, the process automatically displays, to the user, the email accessed in a window of the email client application. For example in the exemplary GUI depicted in
If, however, no entry corresponding to the email address domain name is located in operation 307, the user does not choose automatic setup at operation 312, all setting permutations fail the connection operation 320, or no authentication is received at operation 345, the process proceeds to operation 315. At operation 315, the process provides the user with a request for more setup information in a GUI (not shown), though which the user may input configuration settings the process was unable to identify.
In an embodiment, operation 315 may display to the user the automatic configuration failure mode and may also suggest re-entry of information or entry of additional new information. For example, in one embodiment, where no email address domain name is found in the server profile database, the process may ask for entry of an email service locator and then re-attempt automatic configuration by generating permutations of settings, such as email protocol and/or ports, etc. at operation 325, and attempt to connect at operation 320. In another embodiment where the user does not choose automatic setup at operation 312, the process displays a GUI with requests for all information typically required for manual account setup, such as an email service locator (e.g. hostnames for incoming and outgoing email service), email service protocols (e.g. IMAP and SMTP), and authentication requirements (e.g. incoming email service only). Along with these fields the GUI provides the user another option to perform automatic in the case that the user only then realizes they do not have all required setting information. In yet another embodiment where a connection was established at operation 320, but no authentication is received at operation 345, the process, at operation 315, displays a notification of password failure and requests user verification/re-entry of the account password.
The bus system 903 in
The processors 901 are the central processing units (CPUs) of the processing system and, thus, control the overall operation of processing system. In certain embodiments, the processors 901 accomplish this by executing software stored in memory 902. A processor 901 may be, or may include, one or more programmable general-purpose or special-purpose microprocessors, digital signal processors (DSPs), programmable controllers, application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), programmable logic devices (PLDs), or the like, or a combination of such devices.
The processing system also includes memory 902 coupled to the bus system 903. The memory 902 represents any form of random access memory (RAM), read-only memory (ROM), flash memory, or a combination thereof. Memory 902 stores, among other things, the operating system 904 of the processing system.
Also connected to the processors 901 through the bus system 903 are a mass storage device 905, a storage adapter 906, and a network adapter 907. Mass storage device 905 may be or include any conventional medium for storing large quantities of data in a non-volatile manner, such as one or more disks. The storage adapter 906 allows the processing system to access external storage systems. The network adapter 907 provides the processing system with the ability to communicate with remote devices and may be, for example, an Ethernet adapter or a Fibre Channel adapter.
Memory 902 and mass storage device 905 store software instructions and/or data, which may include instructions and/or data used to implement the techniques introduced here. The system may include other components (e.g. input devices, such as a mouse and keyboard, and output devices such as a display).
Software to implement the technique introduced here may be stored on a machine-readable medium. A “machine-accessible medium,” as the term is used herein, includes any mechanism that provides (i.e. stores and/or transmits) information in a form accessible by a machine (e.g. a computer, manufacturing tool, any device with one or more processors, etc.). For example, a machine-accessible medium includes recordable/non-recordable media (e.g. read-only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; etc.), etc.
This invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident to persons having the benefit of this disclosure that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in the illustrative rather than in a restrictive sense.
Claims
1. A computer readable storage medium having instructions stored thereon which cause a data processing system to configure a user's email client application, the method comprising:
- receiving a user's input of an email address and a password for an email service to be accessed by the email client application; and
- automatically configuring the user's email client application, based only on the email address, password and stored information pertaining to the email service, to communicate with an email server providing the email service.
2. A medium as in claim 1, wherein the stored information comprises an email service locator corresponding to a domain name of the email address.
3. The medium as in claim 2, wherein the email service locator is selected from the group consisting of: hostname, IP address, URI, and FQDN.
4. A medium as in claim 1, wherein the stored information further comprises and an email service protocol corresponding to a domain name of the email address.
5. A medium as in claim 1, the method further comprising:
- receiving a user's input of the user's full name.
6. A medium as in claim 1, the method further comprising:
- displaying to the user, after determining stored information corresponding to a domain name of the email address exists, an option for the user to select automatic email client application configuration.
7. A medium as in claim 6, the method further comprising:
- determining, from the stored information, a commercial source identifier associated with the email service; and
- displaying to the user the commercial source identifier associated with the email service to be automatically configured.
8. A medium as in claim 1, wherein the stored information is provided by a remote server accessed by the email client application.
9. A medium as in claim 8, wherein the remote server is a DNS server.
10. A medium as in claim 1, wherein the stored information is provided as a local service extension.
11. A medium as in claim 1, wherein automatically configuring the email client application further comprises:
- determining, from the stored information, a hostname of the email service corresponding to the email address and wherein the email service hostname identified corresponds to at least one of an incoming email server and an outgoing email server.
12. A medium as in claim 1, the method further comprising:
- determining, from the stored information, an email protocol corresponding to the email service locator.
13. A medium as in claim 12, wherein the email protocol is selected from the group consisting of IMAP, POP3 and SMTP.
14. A medium as in claim 12, further comprising:
- determining, from the stored information, a URI corresponding to the email service, wherein the protocol is HTTP.
15. A medium as in claim 1, wherein automatically configuring the email client application further comprises:
- generating a plurality of connection settings permutations with at least one setting selected from the group consisting of: email protocol and encryption;
- attempting to connect to the email server with each of the plurality of connection permutations; and
- identifying a valid connection permutation by receiving, from the email server, a response to the attempt to connect.
16. A medium as in claim 15, wherein the email protocol is selected from the group consisting of: IMAP, POP3 and SMTP and wherein the plurality of permutations are ranked to attempt an IMAP connection before a POP3 connection and to attempt encrypted connections over unencrypted.
17. A medium as in claim 1, the method further comprising:
- authenticating the email account and account password on the email server upon receiving a response from the email server.
18. A medium as in claim 1, the method further comprising:
- displaying to the user, while email on the server is being accessed by the email client application, an indication that at least one of an automatic configuration or an account authentication is occurring.
19. A medium as in claim 18, wherein the email on the server accessed is limited to that of an inbox of the email account.
20. A medium as in claim 1, the method further comprising:
- automatically displaying to the user, upon authentication, email from the email server.
21. A computer implemented method of configuring a user's email client application, the method comprising:
- receiving a user's input of an email address and a password for an email service to be accessed by the email client application; and
- automatically configuring the user's email client application, based only on the email address, password and stored information pertaining to the email service, to communicate with an email server providing the email service.
22. A method as in claim 21, wherein automatically configuring the email client application further comprises:
- determining, from the stored information, a service locator of the email service corresponding to the email address;
- determining, from the stored information, an email service protocol corresponding to the email service locator;
- attempting to connect to an email server using the email service locator and the email service protocol; and
- authenticating the email account and account password on the email server upon receiving a response from the email server.
23. A method as in claim 21, the method further comprising:
- displaying to the user, while email on the server is being accessed by the email client application, an indication that at least one of an automatic configuration or an account authentication is occurring.
24. A data processing system comprising:
- a means for receiving a user's input of an email address and a password for an email service to be accessed by the email client application; and
- a means for automatically configuring the user's email client application, based only on the email address, password and stored information pertaining to the email service, to communicate with an email server providing the email service.
25. The system of claim 24, further comprising:
- a means for determining, from the stored information, a hostname or IP address of the email service corresponding to the email address;
- a means for determining, from the stored information, an email service protocol corresponding to the email service hostname or IP address;
- a means for attempting to connect to an email server using the email service hostname or IP address and the email service protocol; and
- a means for authenticating the email account and account password on the email server upon receiving a response from the email server.
Type: Application
Filed: Oct 25, 2007
Publication Date: Dec 11, 2008
Inventors: Brendan Langoulant (San Francisco, CA), Ricci Edward Adams (Cupertino, CA), Scott James Forstall (Mountain View, CA)
Application Number: 11/924,562