US20150156155A1 - Methods for delivering electronic mails on request, electronic mail servers and computer programs implementing said methods - Google Patents
Methods for delivering electronic mails on request, electronic mail servers and computer programs implementing said methods Download PDFInfo
- Publication number
- US20150156155A1 US20150156155A1 US14/403,445 US201314403445A US2015156155A1 US 20150156155 A1 US20150156155 A1 US 20150156155A1 US 201314403445 A US201314403445 A US 201314403445A US 2015156155 A1 US2015156155 A1 US 2015156155A1
- Authority
- US
- United States
- Prior art keywords
- data
- electronic mail
- imap
- proprietary
- protocol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/18—Commands or executable codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/06—Message adaptation to terminal or network requirements
- H04L51/063—Content adaptation, e.g. replacement of unsuitable content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/06—Message adaptation to terminal or network requirements
- H04L51/066—Format adaptation, e.g. format conversion or compression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/214—Monitoring or handling of messages using selective forwarding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/42—Mailbox-related aspects, e.g. synchronisation of mailboxes
Definitions
- the present invention relates to electronic mail servers and to methods for delivering electronic mails on request to remote clients, for example mobile terminals connected to an internet network.
- the invention relates to a method for delivering electronic mails on request from an electronic mail server to at least one remote client via an internet network.
- a user of today may need to access his mailbox of electronic mail from a computer, a mobile terminal, a mobile phone, a tablet with touchscreen, or any other device capable of communicating with an internet network.
- These remote clients have varied computing capabilities, storage, and displays and they use multiple communication protocols. They also have internet network connections which may have limited or fluctuating availability and bandwidth. Delivery of electronic mails to the user and their successful receipt and presentation on the display unit of the remote client are frequently a source of uncertainty.
- Document EP 2-144-409-B1 describes an example of a method for providing an electronic mail message in several parts to a mobile terminal in order to adapt to the low bandwidth and reduced storage capacity of such client terminals.
- the present invention provides further improvements.
- a method of the type in question is characterized in that said electronic mail server exchanges data with at least one storage server via a network, and in that it comprises a delivery step including the operations of:
- an electronic mail is generated dynamically and sent when the remote client requests it.
- This electronic mail can thus be adapted to the client terminal.
- the performance of the electronic mail server is improved, one reason being that it does not need to store the electronic mails in memory.
- the invention also relates to an electronic mail server delivering electronic mails on request to at least one remote client via an internet network, the electronic mail server exchanging data with at least one storage server via a network, the electronic mail server comprising:
- a receiving unit for receiving a request from a remote client to deliver an electronic mail identified by an electronic mail identifier
- a communication unit for obtaining data to be encapsulated and message attribute data from at least one storage server, said data being associated with the electronic mail identifier;
- a generation unit for generating the identified electronic mail from the data to be encapsulated and the message attribute data
- a transmitting unit for delivering the identified electronic mail to the remote client.
- the invention also relates to a computer program product comprising instructions suitable for implementing, when this program is executed by a processor of an electronic mail server connected to at least one remote client via an Internet network and to at least one storage server via a network, the operations of:
- certain of these embodiments have one or more of the following advantages. It is possible by this method to send the client a variety of data in electronic mail form, such as voice or video messages, faxes, and event notifications such as missed calls. These data can be stored on the storage server in a different format than the electronic mail format, which eliminates having to adapt the storage server to its use. These data can be converted to an appropriate format for the remote client when the electronic mail is generated.
- FIG. 1 is a block diagram illustrating a system for delivery of electronic mail on request, which can use a method for delivery of electronic mail on request according to the invention
- FIGS. 2 a and 2 b are block diagrams illustrating an embodiment of a method for delivery of electronic mail on request according to the invention, detailing the interactions between a remote client and an electronic mail server;
- FIG. 3 is a block diagram illustrating one embodiment of a method for delivering electronic mail on request according to the invention, detailing the interactions between an electronic mail server and a storage server;
- FIG. 4 is a flowchart illustrating an embodiment of a method for delivering electronic mail on request according to the invention.
- a system for delivering electronic mail on request may comprise one or more remote clients 1 , 1 ′ connected via an internet network 2 to an electronic mail server 3 , which is connected to at least one storage server 4 .
- FIG. 1 For purely illustrative purposes, two remote clients 1 and 1 ′ are represented in FIG. 1 , but any number of remote clients can be used.
- the remote clients may be of different types.
- a first remote client 1 illustrated in FIG. 1 consists of a mobile terminal that is a smartphone, while a second remote client 1 ′ illustrated in FIG. 1 can consist of a desktop computer.
- the remote client(s) 1 are connected to the electronic mail server 3 via the internet network 2 and can exchange information using known Internet communication protocols such as TCP/IP (Transmission Control Protocol/Internet Protocol).
- TCP/IP Transmission Control Protocol/Internet Protocol
- the remote clients 1 may be connected to the internet network 2 directly or via a router or firewall, for example in the case where said remote client 1 consists of a desktop computer.
- the remote clients may access the internet network 2 via a wireless wide area network or WWAN, also known as a mobile cellular network or terrestrial mobile network, or via a wireless local area network or WLAN.
- WWAN wireless wide area network
- WLAN wireless local area network
- the wireless network may for example comprise a plurality of mobile telephony cell towers, also referred to as base stations, each one allowing communication with mobile devices or remote clients located within a defined geographical area.
- the cell towers may be connected via routing equipment to a gateway which allows exchanging data with the internet network.
- the network formed by the equipment may be one of the following types: Mobitex Radio Network, DataTAC, GSM (Global System for Mobile Communication), GPRS (General Packet Radio System), TDMA (Time Division Multiple Access), CDMA (Code Division Multiple Access), CDPD (Cellular Digital Packet Data), iDEN (integrated Digital Enhanced Network), EvDO (Evolution-Data Optimized) CDMA2000, EDGE (Enhanced Data rates for GSM Evolution), UMTS (Universal Mobile Telecommunication Systems), HSDPA (High-Speed Downlink Packet Access), WiMax (Worldwide Interoperability for Microwave Access), or another type.
- Mobitex Radio Network DataTAC
- GSM Global System for Mobile Communication
- GPRS General Packet Radio System
- TDMA Time Division Multiple Access
- CDMA Code Division Multiple Access
- CDPD Cellular Digital Packet Data
- iDEN integrated Digital Enhanced Network
- EvDO Evolution-Data Optimized
- CDMA2000 Code Division Multiple Access
- EDGE Enhanced Data rates for
- the remote client 1 may comprise a desktop computer, a laptop computer, a touchscreen tablet, or any other electronic device without the ability to connect to said wireless network.
- the remote client 1 can then be connected to the wireless network via an external connection device, for example connected to the remote client 1 via one or a combination of: an Ethernet connection, a USB interface (acronym for Universal Serial Bus), a FireWire interface (also known as IEEE 1394), or some other interface for exchanging data serially, via the respective ports or the interfaces of the remote client.
- an Ethernet connection for example connected to the remote client 1 via one or a combination of: an Ethernet connection, a USB interface (acronym for Universal Serial Bus), a FireWire interface (also known as IEEE 1394), or some other interface for exchanging data serially, via the respective ports or the interfaces of the remote client.
- the internet network 2 may comprise a local private network, a metropolitan area network or MAN, a wide area network or WAN, the Internet, or combinations of these, combinations which may for example include virtual private networks.
- a remote client 1 may comprise a processor 11 which controls the general operation of the remote client 1 .
- the processor 11 may consist of one or more programmed microprocessors.
- the processor 11 can interact with a communication module 12 which carries out the communication operations.
- the processor 11 can also interact with additional peripheral modules that may optionally include but are not limited to output devices 13 , input devices 14 , and a storage module 15 .
- additional peripheral modules are not limited to the above list.
- the output devices 13 may include a display module, for example a liquid crystal display (LCD) or a monitor, for example a cathode-based or digital display.
- a display module for example a liquid crystal display (LCD) or a monitor, for example a cathode-based or digital display.
- LCD liquid crystal display
- monitor for example a cathode-based or digital display.
- They may also include a module for audio output, for example such as a speaker or headphones.
- the input devices 14 may include, for example, a keyboard, a mouse, a navigation device as one or more clickable scroll wheels, a trackball, a touchpad, a touchscreen, a microphone, or any other device allowing a user to send commands or information to the remote client.
- a navigation device as one or more clickable scroll wheels, a trackball, a touchpad, a touchscreen, a microphone, or any other device allowing a user to send commands or information to the remote client.
- the keyboard may be a full alphanumeric keyboard, or may be a reduced or simplified alphanumeric keyboard such as a telephone keypad for example.
- an input device 14 and a display module 13 can be implemented using a touchscreen comprising a display device with a touch-sensitive input surface.
- the storage module 15 of the remote client 1 may comprise, for example, one or more random access memories (RAM), read-only memory (ROM), a hard drive (HDD), or any other medium for digital data storage.
- RAM random access memories
- ROM read-only memory
- HDD hard drive
- the storage module 15 can be used to store local data on the remote client 1 such as electronic mails or electronic mail attachments.
- the storage module 15 consists of storage memory having a memory location reserved for storing electronic mails or electronic mail attachments.
- the storage module 15 is represented as a single block in FIG. 2 a for illustrative purposes, but it is evident that the storage module 15 can comprise a plurality of storage media including different types of memory as detailed above, for example ROM, RAM, and a hard drive.
- the storage module 15 of the remote client 1 can also store other data, such as services data comprising information required by the remote client 1 to establish and control communication with the internet network 2 and the electronic mail server 3 , for example network services data.
- services data comprising information required by the remote client 1 to establish and control communication with the internet network 2 and the electronic mail server 3 , for example network services data.
- the storage module 15 of the remote client 1 can also store user data for software applications such as electronic mails, address and contact information, a calendar, text documents, image files, audio or video files, or any other user information conventionally stored on the remote client 1 .
- the data stored in the storage module 15 of the remote client 1 may be organized, at least partially, into a number of databases which for example each contain data of the same type or data associated with a certain software application of the remote client 1 .
- the processor 11 conventionally executes instructions of a program, also referred to as software, stored in the storage module 15 and can for example run software modules stored in the storage module 15 .
- These software modules can include a central program or operating system and software applications.
- the software modules or portions thereof called processes may be temporarily loaded into volatile memory such as random access memory (RAM) of the storage module 15 .
- RAM random access memory
- the random access memory is also used to store variable data for execution or other types of data or information temporarily used during execution of an application or software module.
- the software applications can include a variety of applications such as, for example, an electronic mail application, a voice mail application, a telephony communication application, a mapping application, a calendar application, a contact management application, and a media player application.
- applications such as, for example, an electronic mail application, a voice mail application, a telephony communication application, a mapping application, a calendar application, a contact management application, and a media player application.
- the remote client 1 may comprise additional modules that are not represented in FIG. 2 a but are well known to those skilled in the art, for example a power supply that may include an interface for connecting to the power grid or one or more rechargeable batteries.
- the power supply conventionally provides electrical energy to at least a portion of the electrical circuitry of the remote client 1 .
- an electronic mail server 3 will now be described in more detail.
- the electronic mail server 3 can be implemented using any known server or computer and can, for example, be created by using one or more computers and/or servers running one or more software applications performing the functions described below.
- the electronic mail server 3 is configured to implement a number of modules optionally including but not limited to: a control module 31 , communication modules 32 , an electronic mail generation module 33 , and storage modules 34 .
- the electronic mail server 3 may for example comprise one or more microprocessors that execute the instructions of one or more programs, also known as software applications, in order to implement said modules.
- These programs or software applications may, for example, be stored in non-volatile or read-only memory of the electronic mail server 3 .
- the control module 31 can control the execution of the components and modules of the electronic mail server 3 , launch them, shut them down, and restart them if necessary.
- the communication modules 32 connect to the remote clients 1 and to the storage servers 4 .
- the communication modules 32 may be adapted to communicate with the remote clients 1 and storage servers 4 via a private local network, a metropolitan area network (MAN), a wide area network (WAN), the Internet, or combinations thereof, combinations which may for example include virtual private networks.
- MAN metropolitan area network
- WAN wide area network
- the Internet or combinations thereof, combinations which may for example include virtual private networks.
- control module 31 may for example each be implemented by means of standalone software applications, or combined within one or more software applications, or as processes of another software application.
- each of the modules identified above may be performed in a plurality of independent modules rather than in a single integrated module, and one or more of these modules may be implemented as parts of other software applications.
- a remote client 1 can, for example, control its electronic mailbox and exchange electronic mails with the electronic mail server 3 using a protocol for viewing, retrieving, and/or sending electronic mail such as IMAP (Internet Mail Access Protocol) or a derivative protocol.
- IMAP Internet Mail Access Protocol
- the POP protocol Post Office Protocol
- POP Post Office Protocol
- a storage server 4 will now be described in more detail, with particular reference to FIG. 3 .
- the storage server 4 can be implemented using any known server or computer and can, for example, be implemented by using one or more computers and/or servers and executing one or more software applications providing the functions described below.
- the storage server 4 is configured to implement a number of modules, optionally including but not limited to: a control module 41 , communication modules 42 , and storage modules 45 .
- the storage server 4 may for example comprise one or more microprocessors that execute the instructions of one or more programs, also known as software applications, in order to implement said modules.
- These programs or software applications may, for example, be stored in non-volatile or read-only memory of the storage server 4 .
- the control module 41 can control the execution of the components and modules of the storage server 4 , launch them, shut them down, and restart them if necessary.
- the communication modules 42 can connect to and exchange data with the electronic mail server 3 and external data sources 5 , for example via a wireless wide area network (WWAN) also known as a mobile cellular network or mobile terrestrial network, a wireless local area network (WLAN), a private local network, a metropolitan area network (MAN), a wide area network (WAN), the Internet, or combinations thereof, combinations which may further include virtual private networks.
- WWAN wireless wide area network
- WLAN wireless local area network
- MAN metropolitan area network
- WAN wide area network
- the Internet or combinations thereof, combinations which may further include virtual private networks.
- the external data sources 5 may include a variety of source terminals of different types depending on the data stored in the storage server 4 .
- a storage server 4 of a voicemail system can have, as external data sources 5 , telephones connecting to said storage server via a telephone network.
- the electronic mail server 3 connects to the communication modules 42 of a storage server 4 by means of a web service, for example by using a protocol such as OSA, SOAP, REST, XML-RPC, or a combination of these protocols.
- a protocol such as OSA, SOAP, REST, XML-RPC, or a combination of these protocols.
- Any suitable data exchange protocol can be used for the communication between the electronic mail server 3 and the storage servers 4 .
- control module 41 may for example each be implemented by means of standalone software applications, or combined within one or more software applications, or as processes of another software application.
- each of the modules identified above may be performed in a plurality of independent modules rather than in a single integrated module, and one or more of these modules may be implemented as parts of other software applications.
- the storage server or servers 4 may be accessible by the remote client 1 via the internet network 2 solely through the electronic mail server 3 .
- a user of a remote client 1 therefore cannot directly access the storage servers 4 via the internet network 2 .
- the storage servers 4 can be protected from security breaches.
- This method comprises a delivery step 2000 which may be preceded by a connection step 1000 .
- connection step 1000 may include a first authentication operation 1100 during which the remote client 1 identifies itself to the electronic mail server 3 .
- the authentication operation 1100 may, for example, include the transmission to the electronic mail server 3 of user identifiers 100 which may comprise, for example, a user name 110 and a password 120 .
- the user identifiers 100 may advantageously be communicated in encrypted form.
- Communications can be secured by using a secure transfer protocol, such as the Transport Layer Security (TLS) protocol.
- TLS Transport Layer Security
- the remote client 1 can then request opening a secure session, such as a TLS session, prior to sending the user identifiers 100 .
- a secure session such as a TLS session
- the communications can then be encrypted using a symmetric encryption key, for example by means of AES type algorithms (AES stands for “Advanced Encryption Standard”), or Triple DES type algorithms (“Triple Data Encryption Standard”).
- AES Advanced Encryption Standard
- Triple DES Triple Data Encryption Standard
- Private encryption keys can be generated in a protected environment and used for data encryption and decryption.
- the remote client 1 can, before requesting the opening of a TLS session, ask the electronic mail server 3 to list its capabilities in order to verify that the electronic mail server 3 has the ability to communicate via a secure TLS session.
- the authentication operation 1100 can be implemented using a protocol for viewing, retrieving, and/or sending electronic mail such as the IMAP protocol (the acronym for “Internet Message Access Protocol”) or the POP protocol (the acronym for “Post Office Protocol”).
- IMAP protocol the acronym for “Internet Message Access Protocol”
- POP protocol the acronym for “Post Office Protocol”.
- the electronic mail server 3 can compare them with reference identifiers 130 stored in memory.
- the reference identifiers 130 could also be stored on a remote server, for example a storage server 4 .
- the remote client 1 can be identified.
- the electronic mail server 3 can obtain technical specifications information 200 from a storage server 4 .
- This technical specifications information 200 is advantageously associated with the user identifiers 100 of the remote client 1 , for example by means of a database 299 of a storage server 4 .
- the technical specifications information 200 may, for example, include hardware information 210 concerning the electronic hardware of the remote client 1 and software information 220 concerning the software applications installed on said remote client 1 and/or the operating system of said remote client 1 .
- the remote client 1 may include information 240 configured by the user of the remote client and indicating for example how the user wishes to access electronic mail through the remote client 1 , for example with or without the display of images.
- the remote client 1 can obtain a list of messages 300 contained in the electronic mailbox or in a directory within the electronic mailbox, for example the directory corresponding to the Inbox.
- the remote client 1 can send a request to the electronic mail server 3 , for example a request for a list of messages, according to a protocol for viewing, retrieving, and/or sending electronic mail messages such as the IMAP protocol (the acronym for “Internet Message Access Protocol”), or the POP protocol (the acronym for “Post Office Protocol”).
- a protocol for viewing, retrieving, and/or sending electronic mail messages such as the IMAP protocol (the acronym for “Internet Message Access Protocol”), or the POP protocol (the acronym for “Post Office Protocol”).
- This list of messages 300 may contain one or more electronic mail identifiers 310 each associated with an electronic mail 400 in the electronic mailbox.
- the electronic mail server 3 can use the technical specifications information 200 when generating the list of messages 300 .
- the electronic mail server 3 can then select for inclusion, in the list of messages 300 , only those messages that are readable by the remote client 1 .
- the delivery step 2000 consists of, generally and without limitation, the electronic mail server 3 delivering to a remote client 1 an electronic mail 400 requested by the client. This step can also include other operations and will now be detailed further.
- the delivery step 2000 includes a first operation 2100 of receiving, on the electronic mail server 3 , an electronic mail identifier 310 sent by a remote client 1 .
- This electronic mail identifier 310 may, for example, include a set of alphanumeric characters or a code identifying the electronic mail message 400 requested by the remote client 1 at the time of the receiving operation 2100 .
- This electronic mail identifier 310 can be changed over time by the electronic mail server 3 , for example when the electronic mail message 400 is moved between directories in the electronic mailbox, but identifies the electronic mail 400 requested by the remote client 1 at the time of the receiving operation 2100 .
- the electronic mail server 3 retrieves electronic mail generation data 500 from one or more storage servers 4 .
- the electronic mail generation data 500 may advantageously be associated with the electronic mail identifier 310 , for example by means of a database 599 of the storage server 4 .
- the electronic mail generation data 500 may also be associated with the identifier of the remote client 310 , for example by means of a database 598 of a storage server 4 .
- the electronic mail generation data 500 may contain data to be encapsulated 510 , for example a voice message or visual message, an image or a video, a sound recording, a fax or scanned document, an event notification, for example notification of a missed call, and/or any other data intended to be encapsulated in the electronic mail 400 or linked to the electronic mail 400 , for example in the form of an attachment 410 using the MIME exchange protocol (acronym for “Multipurpose Internet Mail Extensions”) or S/MIME protocol (for “Secure/Multipurpose Internet Mail Extensions.”
- MIME exchange protocol as acronym for “Multipurpose Internet Mail Extensions”
- S/MIME protocol for “Secure/Multipurpose Internet Mail Extensions.”
- the electronic mail generation data 500 may also include message attributes 520 defining generation parameters for the electronic mail 400 .
- the message attributes 520 may define the language in which the message is to be generated, the parameters related to the subject line, to the message body, to the message sender.
- the message attributes 520 may define parameters for generating electronic mail headers 420 .
- the retrieval operation 2200 may also include updating the electronic mail generation data 500 on the storage server.
- This update may consist of updating the status of the electronic mail generation data 500 , for example in a database, moving the electronic mail generation data 500 to another directory of a storage module 45 of the storage server 4 , or modifying the electronic mail generation data 500 on the storage server 4 .
- the electronic mail generation data 500 may include voicemail and the updating of said electronic mail generation data 500 may include archiving said voice messages.
- a third operation 2300 can include the generation by the electronic mail server 3 of the electronic mail message 400 associated with the electronic mail identifier 310 .
- the generation operation 2300 is advantageously carried out based on the technical specifications information 200 and/or electronic mail generation data 500 .
- the generation operation 2300 includes generating headers 420 for the electronic mail message 400 , for example headers specifying the subject, recipient, sender, date, return address, a secondary identifier for the message, the electronic mail priority, variables or identifiers for MIME or HTTP versions, type of content, a content identifier, type of encoding, variables or version identifiers for software applications, and/or any other useful electronic mail field.
- headers 420 for the electronic mail message 400 for example headers specifying the subject, recipient, sender, date, return address, a secondary identifier for the message, the electronic mail priority, variables or identifiers for MIME or HTTP versions, type of content, a content identifier, type of encoding, variables or version identifiers for software applications, and/or any other useful electronic mail field.
- the generation operation 2300 may also include generating the body 430 of the electronic mail 400 .
- Generation of the body 430 of the electronic mail can include generating message text, images, video, animations, and/or sounds to be included in the electronic mail body 430 .
- the body 430 of the electronic mail may, for example, be generated in a language specified by the technical specifications information 200 and/or the message attributes 520 .
- the software information 220 concerning the software applications installed on said remote client 1 may indicate that the remote client 1 has a specific software application for reading messages having an attachment that includes a voice message.
- the electronic mail 400 can then be generated to meet the requirements of the software application, for example by means of the appropriate headers 420 or message body 430 .
- the technical specifications information 200 may indicate that the remote client 1 accesses messages using a known electronic mail client such as IBM Lotus Notes, Apple Mail, Microsoft Outlook, or Mozilla Thunderbird for example.
- the electronic mail 400 can then be generated so that it is readable and understandable by a human user, for example by means of the appropriate headers 420 and/or message body 430 .
- the generation operation 2300 may further comprise the generation or adaptation of one or more attachments 410 to the message.
- the technical specifications information 200 may indicate one or more attachment 410 formats that the remote client 1 is able to present to the user: for example, in the case of a voicemail, one or more audio data formats that the remote client 1 can stream through its output peripheral 13 , such as a speaker.
- the generation operation 2300 can then include the adaptation by transcoding of data to be encapsulated 510 so as to generate an attachment 410 in a format readable by the remote client 1 .
- the generation operation 2300 may include the concatenation of headers 420 , message body 430 , and attachments 410 to form the electronic mail 400 .
- a transmission operation 2400 comprises sending the generated electronic mail 400 from the electronic mail server 3 to the remote client 1 .
- This transmission can be done via the internet network 2 and for example using a protocol for viewing, retrieving, and/or sending electronic mail messages such as the IMAP protocol (acronym for “Internet Message Access Protocol”) or the POP protocol (for “Post Office Protocol”).
- IMAP protocol an electronic mail message
- POP protocol for “Post Office Protocol”.
- communications between the remote client 1 and the electronic mail server 3 can be carried out using a protocol for viewing, retrieving, and/or sending electronic mail such as the IMAP protocol (acronym for “Internet Message access protocol”) or the POP protocol (acronym for “Post Office Protocol”).
- IMAP protocol an identifier for “Internet Message access protocol”
- POP protocol an identifier for “Post Office Protocol”.
- the characteristics of one or more of the embodiments described above can be selected and combined to create variant embodiments comprising feature subsets that are not explicitly described above.
- the object of the invention is also to be understood as covering all appropriate changes in technology, in particular changes to the computer protocols mentioned above.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Method for delivering electronic mails on request from an electronic mail server to at least one remote client via an internet network, said method being characterized in that said electronic mail server exchanges data with at least one storage server and in that it comprises a delivery step comprising the operations of:
-
- receiving, from a remote client, on the electronic mail server, a request for delivery of an electronic mail identified by an electronic mail identifier;
- obtaining, from at least one storage server, data to be encapsulated and message attribute data associated with the electronic mail identifier;
- generating an identified electronic mail from the data to be encapsulated and the message attribute data; and
- transmitting the identified electronic mail to the remote client.
Description
- The present invention relates to electronic mail servers and to methods for delivering electronic mails on request to remote clients, for example mobile terminals connected to an internet network.
- More particularly, the invention relates to a method for delivering electronic mails on request from an electronic mail server to at least one remote client via an internet network.
- With the development and diversification of electronic terminals, a user of today may need to access his mailbox of electronic mail from a computer, a mobile terminal, a mobile phone, a tablet with touchscreen, or any other device capable of communicating with an internet network. These remote clients have varied computing capabilities, storage, and displays and they use multiple communication protocols. They also have internet network connections which may have limited or fluctuating availability and bandwidth. Delivery of electronic mails to the user and their successful receipt and presentation on the display unit of the remote client are frequently a source of uncertainty.
- Document EP 2-144-409-B1 describes an example of a method for providing an electronic mail message in several parts to a mobile terminal in order to adapt to the low bandwidth and reduced storage capacity of such client terminals.
- The present invention provides further improvements.
- According to the invention, a method of the type in question is characterized in that said electronic mail server exchanges data with at least one storage server via a network, and in that it comprises a delivery step including the operations of:
- receiving on the electronic mail server, from the remote client, a request for delivery of an electronic mail identified by an electronic mail identifier;
- obtaining, from at least one storage server, data to be encapsulated and message attribute data, said data being associated with the electronic mail identifier;
- generating the electronic mail from the data to be encapsulated and the message attribute data; and
- transmitting the electronic mail to the remote client.
- With these arrangements, an electronic mail is generated dynamically and sent when the remote client requests it. This electronic mail can thus be adapted to the client terminal. In addition, the performance of the electronic mail server is improved, one reason being that it does not need to store the electronic mails in memory.
- In preferred embodiments of the invention, one or more of the following arrangements may possibly be used:
-
- the operation of obtaining data to be encapsulated and message attribute data from at least one storage server comprises updating said data on the storage server;
- the electronic mail server retrieves, from a storage server, technical specifications information associated with the remote client;
- the operation of generating the electronic mail is performed based on the technical specifications information;
- the operation of obtaining data to be encapsulated and message attribute data from at least one storage server is performed based on the technical specifications information;
- the data to be encapsulated contain data selected from a list comprising: a voicemail message, a visual voicemail message, an image, a video, a sound recording, a fax, a scanned document, an event notification;
- the method further comprises an authentication step performed before the delivery step and during which the electronic mail server identifies the remote client and retrieves from a storage server the technical specifications information associated with the remote client;
- the storage server is accessible, by the remote client and via the internet network, solely through the electronic mail server.
- The invention also relates to an electronic mail server delivering electronic mails on request to at least one remote client via an internet network, the electronic mail server exchanging data with at least one storage server via a network, the electronic mail server comprising:
- a receiving unit for receiving a request from a remote client to deliver an electronic mail identified by an electronic mail identifier;
- a communication unit for obtaining data to be encapsulated and message attribute data from at least one storage server, said data being associated with the electronic mail identifier;
- a generation unit for generating the identified electronic mail from the data to be encapsulated and the message attribute data; and
- a transmitting unit for delivering the identified electronic mail to the remote client.
- The invention also relates to a computer program product comprising instructions suitable for implementing, when this program is executed by a processor of an electronic mail server connected to at least one remote client via an Internet network and to at least one storage server via a network, the operations of:
- receiving from a remote client a request to deliver an electronic mail identified by an electronic mail identifier;
- obtaining, from at least one storage server, data to be encapsulated and message attribute data, said data being associated with the electronic mail identifier;
- generating an identified electronic mail on the basis of the data to be encapsulated and the message attribute data; and
- sending the identified electronic mail to the remote client.
- In general, certain of these embodiments have one or more of the following advantages. It is possible by this method to send the client a variety of data in electronic mail form, such as voice or video messages, faxes, and event notifications such as missed calls. These data can be stored on the storage server in a different format than the electronic mail format, which eliminates having to adapt the storage server to its use. These data can be converted to an appropriate format for the remote client when the electronic mail is generated.
- Other features and advantages of the invention will be apparent from the following description of one of its embodiments, given by way of non-limiting example, with reference to the accompanying drawings.
- In the drawings:
-
FIG. 1 is a block diagram illustrating a system for delivery of electronic mail on request, which can use a method for delivery of electronic mail on request according to the invention; -
FIGS. 2 a and 2 b are block diagrams illustrating an embodiment of a method for delivery of electronic mail on request according to the invention, detailing the interactions between a remote client and an electronic mail server; -
FIG. 3 is a block diagram illustrating one embodiment of a method for delivering electronic mail on request according to the invention, detailing the interactions between an electronic mail server and a storage server; -
FIG. 4 is a flowchart illustrating an embodiment of a method for delivering electronic mail on request according to the invention. - In the various figures, the same references are used to denote identical or similar elements.
- Referring first to
FIG. 1 , a system for delivering electronic mail on request may comprise one or moreremote clients internet network 2 to anelectronic mail server 3, which is connected to at least onestorage server 4. - In the following description, the terms “email”, “message”, “electronic mail”, “electronic message”, and terms derived from these will be used interchangeably.
- For purely illustrative purposes, two
remote clients FIG. 1 , but any number of remote clients can be used. The remote clients may be of different types. For example, a firstremote client 1 illustrated inFIG. 1 consists of a mobile terminal that is a smartphone, while a secondremote client 1′ illustrated inFIG. 1 can consist of a desktop computer. - The remote client(s) 1 are connected to the
electronic mail server 3 via theinternet network 2 and can exchange information using known Internet communication protocols such as TCP/IP (Transmission Control Protocol/Internet Protocol). - The
remote clients 1 may be connected to theinternet network 2 directly or via a router or firewall, for example in the case where saidremote client 1 consists of a desktop computer. - Alternatively, the remote clients may access the
internet network 2 via a wireless wide area network or WWAN, also known as a mobile cellular network or terrestrial mobile network, or via a wireless local area network or WLAN. - The wireless network may for example comprise a plurality of mobile telephony cell towers, also referred to as base stations, each one allowing communication with mobile devices or remote clients located within a defined geographical area. The cell towers may be connected via routing equipment to a gateway which allows exchanging data with the internet network. The network formed by the equipment may be one of the following types: Mobitex Radio Network, DataTAC, GSM (Global System for Mobile Communication), GPRS (General Packet Radio System), TDMA (Time Division Multiple Access), CDMA (Code Division Multiple Access), CDPD (Cellular Digital Packet Data), iDEN (integrated Digital Enhanced Network), EvDO (Evolution-Data Optimized) CDMA2000, EDGE (Enhanced Data rates for GSM Evolution), UMTS (Universal Mobile Telecommunication Systems), HSDPA (High-Speed Downlink Packet Access), WiMax (Worldwide Interoperability for Microwave Access), or another type.
- As a variant, the
remote client 1 may comprise a desktop computer, a laptop computer, a touchscreen tablet, or any other electronic device without the ability to connect to said wireless network. Theremote client 1 can then be connected to the wireless network via an external connection device, for example connected to theremote client 1 via one or a combination of: an Ethernet connection, a USB interface (acronym for Universal Serial Bus), a FireWire interface (also known as IEEE 1394), or some other interface for exchanging data serially, via the respective ports or the interfaces of the remote client. - The
internet network 2 may comprise a local private network, a metropolitan area network or MAN, a wide area network or WAN, the Internet, or combinations of these, combinations which may for example include virtual private networks. - Referring now to
FIGS. 2 a and 2 b as well, aremote client 1 may comprise aprocessor 11 which controls the general operation of theremote client 1. - In practice, the
processor 11 may consist of one or more programmed microprocessors. - The
processor 11 can interact with acommunication module 12 which carries out the communication operations. - The
processor 11 can also interact with additional peripheral modules that may optionally include but are not limited tooutput devices 13,input devices 14, and astorage module 15. The additional peripheral modules are not limited to the above list. - The
output devices 13 may include a display module, for example a liquid crystal display (LCD) or a monitor, for example a cathode-based or digital display. - They may also include a module for audio output, for example such as a speaker or headphones.
- The
input devices 14 may include, for example, a keyboard, a mouse, a navigation device as one or more clickable scroll wheels, a trackball, a touchpad, a touchscreen, a microphone, or any other device allowing a user to send commands or information to the remote client. - The keyboard may be a full alphanumeric keyboard, or may be a reduced or simplified alphanumeric keyboard such as a telephone keypad for example.
- In some embodiments, an
input device 14 and adisplay module 13 can be implemented using a touchscreen comprising a display device with a touch-sensitive input surface. - The
storage module 15 of theremote client 1 may comprise, for example, one or more random access memories (RAM), read-only memory (ROM), a hard drive (HDD), or any other medium for digital data storage. - The
storage module 15 can be used to store local data on theremote client 1 such as electronic mails or electronic mail attachments. - In some embodiments, the
storage module 15 consists of storage memory having a memory location reserved for storing electronic mails or electronic mail attachments. - The
storage module 15 is represented as a single block inFIG. 2 a for illustrative purposes, but it is evident that thestorage module 15 can comprise a plurality of storage media including different types of memory as detailed above, for example ROM, RAM, and a hard drive. - The
storage module 15 of theremote client 1 can also store other data, such as services data comprising information required by theremote client 1 to establish and control communication with theinternet network 2 and theelectronic mail server 3, for example network services data. - The
storage module 15 of theremote client 1 can also store user data for software applications such as electronic mails, address and contact information, a calendar, text documents, image files, audio or video files, or any other user information conventionally stored on theremote client 1. - The data stored in the
storage module 15 of theremote client 1 may be organized, at least partially, into a number of databases which for example each contain data of the same type or data associated with a certain software application of theremote client 1. - The
processor 11 conventionally executes instructions of a program, also referred to as software, stored in thestorage module 15 and can for example run software modules stored in thestorage module 15. - These software modules can include a central program or operating system and software applications. The software modules or portions thereof called processes may be temporarily loaded into volatile memory such as random access memory (RAM) of the
storage module 15. - The random access memory is also used to store variable data for execution or other types of data or information temporarily used during execution of an application or software module.
- The software applications can include a variety of applications such as, for example, an electronic mail application, a voice mail application, a telephony communication application, a mapping application, a calendar application, a contact management application, and a media player application.
- Note that the
remote client 1 may comprise additional modules that are not represented inFIG. 2 a but are well known to those skilled in the art, for example a power supply that may include an interface for connecting to the power grid or one or more rechargeable batteries. - The power supply conventionally provides electrical energy to at least a portion of the electrical circuitry of the
remote client 1. - Referring in particular to
FIGS. 2 a, 2 b and 3, anelectronic mail server 3 will now be described in more detail. - The
electronic mail server 3 can be implemented using any known server or computer and can, for example, be created by using one or more computers and/or servers running one or more software applications performing the functions described below. - The
electronic mail server 3 is configured to implement a number of modules optionally including but not limited to: acontrol module 31,communication modules 32, an electronicmail generation module 33, and storage modules 34. - In one embodiment, the
electronic mail server 3 may for example comprise one or more microprocessors that execute the instructions of one or more programs, also known as software applications, in order to implement said modules. - These programs or software applications may, for example, be stored in non-volatile or read-only memory of the
electronic mail server 3. - The
control module 31 can control the execution of the components and modules of theelectronic mail server 3, launch them, shut them down, and restart them if necessary. - The
communication modules 32 connect to theremote clients 1 and to thestorage servers 4. - The
communication modules 32 may be adapted to communicate with theremote clients 1 andstorage servers 4 via a private local network, a metropolitan area network (MAN), a wide area network (WAN), the Internet, or combinations thereof, combinations which may for example include virtual private networks. - The
control module 31, thecommunication modules 32, the electronicmail generation module 33, and the storage modules 34 may for example each be implemented by means of standalone software applications, or combined within one or more software applications, or as processes of another software application. - In some embodiments, the functions performed by each of the modules identified above may be performed in a plurality of independent modules rather than in a single integrated module, and one or more of these modules may be implemented as parts of other software applications.
- A
remote client 1 can, for example, control its electronic mailbox and exchange electronic mails with theelectronic mail server 3 using a protocol for viewing, retrieving, and/or sending electronic mail such as IMAP (Internet Mail Access Protocol) or a derivative protocol. - Alternatively, the POP protocol (Post Office Protocol) may be used.
- A
storage server 4 will now be described in more detail, with particular reference toFIG. 3 . - Similarly to the
electronic mail server 3, thestorage server 4 can be implemented using any known server or computer and can, for example, be implemented by using one or more computers and/or servers and executing one or more software applications providing the functions described below. - The
storage server 4 is configured to implement a number of modules, optionally including but not limited to: acontrol module 41,communication modules 42, andstorage modules 45. - In one embodiment, the
storage server 4 may for example comprise one or more microprocessors that execute the instructions of one or more programs, also known as software applications, in order to implement said modules. - These programs or software applications may, for example, be stored in non-volatile or read-only memory of the
storage server 4. - The
control module 41 can control the execution of the components and modules of thestorage server 4, launch them, shut them down, and restart them if necessary. - The
communication modules 42 can connect to and exchange data with theelectronic mail server 3 andexternal data sources 5, for example via a wireless wide area network (WWAN) also known as a mobile cellular network or mobile terrestrial network, a wireless local area network (WLAN), a private local network, a metropolitan area network (MAN), a wide area network (WAN), the Internet, or combinations thereof, combinations which may further include virtual private networks. - The
external data sources 5 may include a variety of source terminals of different types depending on the data stored in thestorage server 4. - Purely as an illustration, a
storage server 4 of a voicemail system, suitable for storing voice messages, can have, asexternal data sources 5, telephones connecting to said storage server via a telephone network. - The
electronic mail server 3 connects to thecommunication modules 42 of astorage server 4 by means of a web service, for example by using a protocol such as OSA, SOAP, REST, XML-RPC, or a combination of these protocols. - Any suitable data exchange protocol can be used for the communication between the
electronic mail server 3 and thestorage servers 4. - The
control module 41, thecommunication modules 42, and thestorage modules 45 may for example each be implemented by means of standalone software applications, or combined within one or more software applications, or as processes of another software application. - In some embodiments, the functions performed by each of the modules identified above may be performed in a plurality of independent modules rather than in a single integrated module, and one or more of these modules may be implemented as parts of other software applications.
- Advantageously, the storage server or
servers 4 may be accessible by theremote client 1 via theinternet network 2 solely through theelectronic mail server 3. - A user of a
remote client 1 therefore cannot directly access thestorage servers 4 via theinternet network 2. - In this manner, the
storage servers 4 can be protected from security breaches. - A method for delivering electronic mails on demand will now be described in more detail, with reference to
FIG. 4 as well. - This method comprises a
delivery step 2000 which may be preceded by aconnection step 1000. - Referring in particular to
FIGS. 2 a and 4, theconnection step 1000 may include afirst authentication operation 1100 during which theremote client 1 identifies itself to theelectronic mail server 3. - The
authentication operation 1100 may, for example, include the transmission to theelectronic mail server 3 ofuser identifiers 100 which may comprise, for example, a user name 110 and a password 120. - In some embodiments, for example when the
network 2 is an non-secure network such as the Internet, theuser identifiers 100 may advantageously be communicated in encrypted form. - Communications can be secured by using a secure transfer protocol, such as the Transport Layer Security (TLS) protocol.
- The
remote client 1 can then request opening a secure session, such as a TLS session, prior to sending theuser identifiers 100. - The communications can then be encrypted using a symmetric encryption key, for example by means of AES type algorithms (AES stands for “Advanced Encryption Standard”), or Triple DES type algorithms (“Triple Data Encryption Standard”).
- Private encryption keys can be generated in a protected environment and used for data encryption and decryption.
- In one embodiment of a method according to the invention that includes such a secure TLS session, the
remote client 1 can, before requesting the opening of a TLS session, ask theelectronic mail server 3 to list its capabilities in order to verify that theelectronic mail server 3 has the ability to communicate via a secure TLS session. - The
authentication operation 1100 can be implemented using a protocol for viewing, retrieving, and/or sending electronic mail such as the IMAP protocol (the acronym for “Internet Message Access Protocol”) or the POP protocol (the acronym for “Post Office Protocol”). - Once the
electronic mail server 3 has obtained theuser identifiers 100, it can compare them with reference identifiers 130 stored in memory. The reference identifiers 130 could also be stored on a remote server, for example astorage server 4. - If the
user identifiers 100 are identical to the reference identifiers 130, theremote client 1 can be identified. - During a
second operation 1200, theelectronic mail server 3 can obtaintechnical specifications information 200 from astorage server 4. Thistechnical specifications information 200 is advantageously associated with theuser identifiers 100 of theremote client 1, for example by means of a database 299 of astorage server 4. - The
technical specifications information 200 may, for example, include hardware information 210 concerning the electronic hardware of theremote client 1 and software information 220 concerning the software applications installed on saidremote client 1 and/or the operating system of saidremote client 1. - It may also include information 230 concerning the user of the
remote client 1, for example the language in which the user wishes to read messages. - Finally, it may include information 240 configured by the user of the remote client and indicating for example how the user wishes to access electronic mail through the
remote client 1, for example with or without the display of images. - During an optional
third operation 1300, theremote client 1 can obtain a list ofmessages 300 contained in the electronic mailbox or in a directory within the electronic mailbox, for example the directory corresponding to the Inbox. - The
remote client 1 can send a request to theelectronic mail server 3, for example a request for a list of messages, according to a protocol for viewing, retrieving, and/or sending electronic mail messages such as the IMAP protocol (the acronym for “Internet Message Access Protocol”), or the POP protocol (the acronym for “Post Office Protocol”). - This list of
messages 300 may contain one or moreelectronic mail identifiers 310 each associated with an electronic mail 400 in the electronic mailbox. - The
electronic mail server 3 can use thetechnical specifications information 200 when generating the list ofmessages 300. - As an example, the
electronic mail server 3 can then select for inclusion, in the list ofmessages 300, only those messages that are readable by theremote client 1. - After the
connection step 1000, thedelivery step 2000 consists of, generally and without limitation, theelectronic mail server 3 delivering to aremote client 1 an electronic mail 400 requested by the client. This step can also include other operations and will now be detailed further. - The
delivery step 2000 includes afirst operation 2100 of receiving, on theelectronic mail server 3, anelectronic mail identifier 310 sent by aremote client 1. - This
electronic mail identifier 310 may, for example, include a set of alphanumeric characters or a code identifying the electronic mail message 400 requested by theremote client 1 at the time of the receivingoperation 2100. - This
electronic mail identifier 310 can be changed over time by theelectronic mail server 3, for example when the electronic mail message 400 is moved between directories in the electronic mailbox, but identifies the electronic mail 400 requested by theremote client 1 at the time of the receivingoperation 2100. - Then, during a
retrieval operation 2200, theelectronic mail server 3 retrieves electronicmail generation data 500 from one ormore storage servers 4. - The electronic
mail generation data 500 may advantageously be associated with theelectronic mail identifier 310, for example by means of a database 599 of thestorage server 4. - The electronic
mail generation data 500 may also be associated with the identifier of theremote client 310, for example by means of a database 598 of astorage server 4. - The electronic
mail generation data 500 may contain data to be encapsulated 510, for example a voice message or visual message, an image or a video, a sound recording, a fax or scanned document, an event notification, for example notification of a missed call, and/or any other data intended to be encapsulated in the electronic mail 400 or linked to the electronic mail 400, for example in the form of an attachment 410 using the MIME exchange protocol (acronym for “Multipurpose Internet Mail Extensions”) or S/MIME protocol (for “Secure/Multipurpose Internet Mail Extensions.” - The electronic
mail generation data 500 may also include message attributes 520 defining generation parameters for the electronic mail 400. - The message attributes 520 may define the language in which the message is to be generated, the parameters related to the subject line, to the message body, to the message sender.
- The message attributes 520 may define parameters for generating electronic mail headers 420.
- The
retrieval operation 2200 may also include updating the electronicmail generation data 500 on the storage server. - This update may consist of updating the status of the electronic
mail generation data 500, for example in a database, moving the electronicmail generation data 500 to another directory of astorage module 45 of thestorage server 4, or modifying the electronicmail generation data 500 on thestorage server 4. - For purely illustrative purposes, in an embodiment where the
storage server 4 is part of a voicemail system and is suitable for storing voice messages, the electronicmail generation data 500 may include voicemail and the updating of said electronicmail generation data 500 may include archiving said voice messages. - Next, a
third operation 2300, the generation operation, can include the generation by theelectronic mail server 3 of the electronic mail message 400 associated with theelectronic mail identifier 310. - The
generation operation 2300 is advantageously carried out based on thetechnical specifications information 200 and/or electronicmail generation data 500. - The
generation operation 2300 includes generating headers 420 for the electronic mail message 400, for example headers specifying the subject, recipient, sender, date, return address, a secondary identifier for the message, the electronic mail priority, variables or identifiers for MIME or HTTP versions, type of content, a content identifier, type of encoding, variables or version identifiers for software applications, and/or any other useful electronic mail field. - The
generation operation 2300 may also include generating the body 430 of the electronic mail 400. - Generation of the body 430 of the electronic mail can include generating message text, images, video, animations, and/or sounds to be included in the electronic mail body 430.
- The body 430 of the electronic mail may, for example, be generated in a language specified by the
technical specifications information 200 and/or the message attributes 520. - As a non-limiting illustration, the software information 220 concerning the software applications installed on said
remote client 1 may indicate that theremote client 1 has a specific software application for reading messages having an attachment that includes a voice message. - The electronic mail 400 can then be generated to meet the requirements of the software application, for example by means of the appropriate headers 420 or message body 430.
- In another embodiment, and again as a non-limiting illustration, the
technical specifications information 200 may indicate that theremote client 1 accesses messages using a known electronic mail client such as IBM Lotus Notes, Apple Mail, Microsoft Outlook, or Mozilla Thunderbird for example. - The electronic mail 400 can then be generated so that it is readable and understandable by a human user, for example by means of the appropriate headers 420 and/or message body 430.
- The
generation operation 2300 may further comprise the generation or adaptation of one or more attachments 410 to the message. - To provide another example of a non-limiting illustration which allows a better understanding of the advantages of the invention, the
technical specifications information 200 may indicate one or more attachment 410 formats that theremote client 1 is able to present to the user: for example, in the case of a voicemail, one or more audio data formats that theremote client 1 can stream through its output peripheral 13, such as a speaker. - The
generation operation 2300 can then include the adaptation by transcoding of data to be encapsulated 510 so as to generate an attachment 410 in a format readable by theremote client 1. - Finally, the
generation operation 2300 may include the concatenation of headers 420, message body 430, and attachments 410 to form the electronic mail 400. - Following the
generation operation 2300, atransmission operation 2400 comprises sending the generated electronic mail 400 from theelectronic mail server 3 to theremote client 1. - This transmission can be done via the
internet network 2 and for example using a protocol for viewing, retrieving, and/or sending electronic mail messages such as the IMAP protocol (acronym for “Internet Message Access Protocol”) or the POP protocol (for “Post Office Protocol”). - In general, communications between the
remote client 1 and theelectronic mail server 3 can be carried out using a protocol for viewing, retrieving, and/or sending electronic mail such as the IMAP protocol (acronym for “Internet Message access protocol”) or the POP protocol (acronym for “Post Office Protocol”). - The embodiments of the invention described above are described only as examples.
- Those skilled in the art can make modifications and combinations of specific embodiments without departing from the scope of the present invention.
- In particular, the characteristics of one or more of the embodiments described above can be selected and combined to create variant embodiments comprising feature subsets that are not explicitly described above.
- In addition, the characteristics of one or more of the embodiments described above can be selected and combined to create variant embodiments comprising combinations of features that are not explicitly described above.
- The features adapted for such combinations and sub-combinations will be evident to those skilled in the art, upon review of the invention as a whole.
- The object of the invention is also to be understood as covering all appropriate changes in technology, in particular changes to the computer protocols mentioned above.
Claims (10)
1. Method for processing at least two IMAP data flows, the IMAP data flows being exchanged via an internet network between an electronic mail server and at least two remote clients respectively using a first and a second separate proprietary IMAP protocol, each IMAP data flow respectively corresponding to a connection of a respective remote client to an electronic mailbox, the method being characterized in that it comprises a translation step including:
a sub-step carried out by an analysis module and consisting of the extraction of proprietary protocol data from an IMAP data flow,
a sub-step consisting of the execution of at least one task relating to the extracted proprietary protocol data by a proprietary IMAP application module in order to obtain proprietary protocol response data, and
a sub-step carried out by the analysis module, consisting of the generation of a return IMAP data flow from the proprietary protocol response data,
said proprietary IMAP application module being selected from among a first and a second proprietary IMAP application module, the first proprietary IMAP application module being adapted to execute tasks relating to the first proprietary IMAP protocol, the second proprietary IMAP application module being adapted to execute tasks relating to the second proprietary IMAP protocol.
2. The method according to claim 1 , wherein the proprietary IMAP application module is selected from among the first and second proprietary IMAP application modules on the basis of technical specifications information associated with the remote client.
3. The method according to claim 1 , wherein the analysis module exchanges data with at least one storage server via a network, the method further comprising an authentication step performed before the translation step and comprising:
a sub-step of identification of the remote client by the electronic mail server, and
a sub-step of retrieval on the electronic mail server, from a storage server, technical specifications information associated with the remote client.
4. The method according to claim 1 , wherein the proprietary IMAP application module exchanges data with at least one storage server via a network,
wherein the sub-step consisting of the extraction of proprietary protocol data from an IMAP data flow comprises the extraction of a request to deliver an electronic mail identified by an electronic mail identifier,
wherein the sub-step consisting of the execution of at least one task relating to the extracted proprietary protocol data includes the operations of:
obtaining data to be encapsulated and message attribute data from at least one storage server, said data being associated with the electronic mail identifier, and
generating the electronic mail from the data to be encapsulated and the message attribute data,
and wherein the sub-step consisting of the generation of a return IMAP data flow comprises the transmission of said electronic mail to the remote client.
5. The method according to claim 4 , wherein the operation of obtaining data to be encapsulated and message attribute data from at least one storage server comprises the updating of said data on the storage server.
6. The method according to claim 4 , wherein the operation of generating the electronic mail and/or the operation of obtaining data to be encapsulated and message attribute data from at least one storage server, is carried out based on the technical specifications information.
7. The method according to claim 4 , wherein the data to be encapsulated contain data selected from a list comprising: a voicemail message, a visual voicemail message, an image, a video, a sound recording, a fax, a scanned document, an event notification.
8. The method according to claim 3 , wherein the storage server is accessible, by the remote client and via the internet network, solely through the electronic mail server.
9. Electronic email server for processing at least two IMAP data flows, the IMAP data flows being exchanged via an internet network with at least two remote clients respectively using a first and a second separate proprietary IMAP protocol, each IMAP data flow respectively corresponding to a connection of a respective remote client to an electronic mailbox, the electronic mail server comprising:
an analysis module for carrying out a sub-step consisting of the extraction of proprietary protocol data from an IMAP data flow, and a sub-step consisting of the generation of a return IMAP data flow from proprietary protocol response data, and
at least a first and a second proprietary IMAP application module, the first proprietary IMAP application module being adapted to execute tasks relating to the first proprietary IMAP protocol, the second proprietary IMAP application module being adapted to execute tasks relating to the second proprietary IMAP protocol,
said proprietary IMAP application modules being adapted to carry out a sub-step consisting of the execution of at least one task relating to the extracted proprietary protocol data in order to obtain proprietary protocol response data.
10. Computer program product comprising instructions suitable for implementing, when this program is executed by a processor of an electronic mail server, the steps of a method according to claim 1 .
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1255029 | 2012-05-31 | ||
FR1255029A FR2991535B1 (en) | 2012-05-31 | 2012-05-31 | METHODS OF DELIVERING EMAIL ON DEMAND, EMAIL SERVERS AND COMPUTER PROGRAMS USING SUCH METHODS |
PCT/FR2013/051194 WO2013178943A1 (en) | 2012-05-31 | 2013-05-29 | Methods for delivering electronic mails on request, electronic mail servers and computer programs implementing said methods |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/FR2013/051194 A-371-Of-International WO2013178943A1 (en) | 2012-05-31 | 2013-05-29 | Methods for delivering electronic mails on request, electronic mail servers and computer programs implementing said methods |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/451,883 Continuation US10594644B2 (en) | 2012-05-31 | 2017-03-07 | Methods for delivering electronic mails on request, electronic mail servers and computer programs implementing said methods |
Publications (1)
Publication Number | Publication Date |
---|---|
US20150156155A1 true US20150156155A1 (en) | 2015-06-04 |
Family
ID=47191836
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/403,445 Abandoned US20150156155A1 (en) | 2012-05-31 | 2013-05-29 | Methods for delivering electronic mails on request, electronic mail servers and computer programs implementing said methods |
US15/451,883 Active US10594644B2 (en) | 2012-05-31 | 2017-03-07 | Methods for delivering electronic mails on request, electronic mail servers and computer programs implementing said methods |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/451,883 Active US10594644B2 (en) | 2012-05-31 | 2017-03-07 | Methods for delivering electronic mails on request, electronic mail servers and computer programs implementing said methods |
Country Status (9)
Country | Link |
---|---|
US (2) | US20150156155A1 (en) |
EP (1) | EP2856708B1 (en) |
JP (1) | JP2015525511A (en) |
CN (1) | CN104718728B (en) |
CA (1) | CA2874206C (en) |
ES (1) | ES2628936T3 (en) |
FR (1) | FR2991535B1 (en) |
HK (1) | HK1206168A1 (en) |
WO (1) | WO2013178943A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170192854A1 (en) * | 2016-01-06 | 2017-07-06 | Dell Software, Inc. | Email recovery via emulation and indexing |
US10594644B2 (en) | 2012-05-31 | 2020-03-17 | Streamwide | Methods for delivering electronic mails on request, electronic mail servers and computer programs implementing said methods |
TWI753880B (en) * | 2016-02-29 | 2022-02-01 | 香港商阿里巴巴集團服務有限公司 | Distributed system-based task processing method, device and system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080189275A1 (en) * | 2005-11-21 | 2008-08-07 | Fujitsu Limited | Program, method, and apparatus for sending and receiving mail messages |
US20120136953A1 (en) * | 2002-10-07 | 2012-05-31 | Yahoo! Inc. | Email system |
US20140192967A1 (en) * | 2011-07-26 | 2014-07-10 | Lg Electronics Inc. | Enhanced visual voice mail |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5937164A (en) * | 1995-12-07 | 1999-08-10 | Hyperlock Technologies, Inc. | Method and apparatus of secure server control of local media via a trigger through a network for instant local access of encrypted data on local media within a platform independent networking system |
JP3595719B2 (en) * | 1999-03-16 | 2004-12-02 | シャープ株式会社 | Electronic mail relay device and program recording medium |
EP1117220A1 (en) * | 2000-01-14 | 2001-07-18 | Sun Microsystems, Inc. | Method and system for protocol conversion |
NO323223B1 (en) * | 2004-05-28 | 2007-01-29 | Telenor Asa | A system, method and protocol for mobile e-mail communication |
KR100588212B1 (en) * | 2004-07-27 | 2006-06-08 | 엘지전자 주식회사 | Cleaner odometer system |
US8554939B1 (en) * | 2005-02-25 | 2013-10-08 | Google Inc. | Systems and methods for downloading and viewing images |
US20060218234A1 (en) * | 2005-03-24 | 2006-09-28 | Li Deng | Scheme of sending email to mobile devices |
CA2564833C (en) * | 2006-01-04 | 2009-01-27 | Steven J. Mccarthy | Electronic mail (email) system providing enhanced message retrieval from email storage server and related methods |
CN101282361B (en) * | 2008-05-16 | 2010-12-08 | 腾讯科技(深圳)有限公司 | Operation interactive system and method for mobile communication terminal and electric mailbox |
US8126976B2 (en) | 2008-07-09 | 2012-02-28 | Research In Motion Limited | Delivery of email messages in multiple parts |
JP5124527B2 (en) * | 2009-05-26 | 2013-01-23 | 株式会社日立製作所 | Mail relay device |
FR2991535B1 (en) | 2012-05-31 | 2015-05-01 | Streamwide | METHODS OF DELIVERING EMAIL ON DEMAND, EMAIL SERVERS AND COMPUTER PROGRAMS USING SUCH METHODS |
US10803472B2 (en) * | 2012-10-30 | 2020-10-13 | Transform Sr Brands Llc | Method and system for emergent data processing |
-
2012
- 2012-05-31 FR FR1255029A patent/FR2991535B1/en not_active Expired - Fee Related
-
2013
- 2013-05-29 WO PCT/FR2013/051194 patent/WO2013178943A1/en active Application Filing
- 2013-05-29 US US14/403,445 patent/US20150156155A1/en not_active Abandoned
- 2013-05-29 JP JP2015514560A patent/JP2015525511A/en active Pending
- 2013-05-29 EP EP13730292.3A patent/EP2856708B1/en active Active
- 2013-05-29 CA CA2874206A patent/CA2874206C/en active Active
- 2013-05-29 ES ES13730292.3T patent/ES2628936T3/en active Active
- 2013-05-29 CN CN201380028814.XA patent/CN104718728B/en active Active
-
2015
- 2015-07-13 HK HK15106660.9A patent/HK1206168A1/en unknown
-
2017
- 2017-03-07 US US15/451,883 patent/US10594644B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120136953A1 (en) * | 2002-10-07 | 2012-05-31 | Yahoo! Inc. | Email system |
US20080189275A1 (en) * | 2005-11-21 | 2008-08-07 | Fujitsu Limited | Program, method, and apparatus for sending and receiving mail messages |
US20140192967A1 (en) * | 2011-07-26 | 2014-07-10 | Lg Electronics Inc. | Enhanced visual voice mail |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10594644B2 (en) | 2012-05-31 | 2020-03-17 | Streamwide | Methods for delivering electronic mails on request, electronic mail servers and computer programs implementing said methods |
US20170192854A1 (en) * | 2016-01-06 | 2017-07-06 | Dell Software, Inc. | Email recovery via emulation and indexing |
TWI753880B (en) * | 2016-02-29 | 2022-02-01 | 香港商阿里巴巴集團服務有限公司 | Distributed system-based task processing method, device and system |
US11256539B2 (en) * | 2016-02-29 | 2022-02-22 | Alibaba Group Holding Limited | Task processing method, apparatus, and system based on distributed system |
Also Published As
Publication number | Publication date |
---|---|
CN104718728B (en) | 2018-12-11 |
EP2856708B1 (en) | 2017-04-26 |
JP2015525511A (en) | 2015-09-03 |
US20170180296A1 (en) | 2017-06-22 |
FR2991535B1 (en) | 2015-05-01 |
EP2856708A1 (en) | 2015-04-08 |
CA2874206C (en) | 2018-05-22 |
HK1206168A1 (en) | 2015-12-31 |
FR2991535A1 (en) | 2013-12-06 |
WO2013178943A1 (en) | 2013-12-05 |
ES2628936T3 (en) | 2017-08-04 |
US10594644B2 (en) | 2020-03-17 |
CA2874206A1 (en) | 2013-12-05 |
CN104718728A (en) | 2015-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9166977B2 (en) | Secure text-to-speech synthesis in portable electronic devices | |
US7254712B2 (en) | System and method for compressing secure e-mail for exchange with a mobile data communication device | |
US8972512B2 (en) | Message delivery systems and methods | |
US9807082B2 (en) | Certificate information storage system and method | |
US20140075191A1 (en) | System and method for transmitting and utilizing attachments | |
US20080043942A1 (en) | E-Mail Delivery Options Usability Tool | |
US10594644B2 (en) | Methods for delivering electronic mails on request, electronic mail servers and computer programs implementing said methods | |
CN113992352B (en) | Message pushing method and device, electronic equipment and storage medium | |
US20120260097A1 (en) | System and method of signing a message | |
US10498682B2 (en) | Method for processing IMAP data flows, electronic mail servers and computer programs implementing said methods | |
US8635292B2 (en) | Method for reduction of disk space usage of electronic messages in a network | |
CA2799734C (en) | Secure text-to-speech synthesis in portable electronic devices | |
CN108900535A (en) | Mail encryption method, device and computer readable storage medium | |
US20070005710A1 (en) | Message communication channel | |
JP2009200999A (en) | Mail system, server device, mail management method, program, and recording medium | |
CN116708539A (en) | Virtual service matching method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: STREAMWIDE, FRANCE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:THEMEREAU, VINCENT;REEL/FRAME:035330/0225 Effective date: 20130603 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |