Abstract:
In a data processing system ( 100 ) supporting an electronic mail messaging system, a method of managing e-mail messages comprising, under the control of a mail user agent of a message sender user (QRS): keeping a list ( 455,450 ) of messages sent by the message sender user; enabling the sender user selecting ( 500,505,510 ) a wrong message ( 513 ) from the list of sent messages; causing a correcting message ( 520 ) to be sent to at least one of the message recipient users (ABC,DEF,JKL) of the selected message, the correcting message including message qualifier (X-replace-mail) qualifying the correcting message as a message intended to correct the selected message. Under the control of a mail user agent of said at least one of the message recipient users, the correcting message is received; using the message qualifier included therein, the selected message is identified among the received messages ( 715,720,730 ), and a correcting action on the selected message is performed.

Description:
TECHNICAL FIELD  
         [0001]    The present invention generally relates to the field of electronic data processing systems, and particularly to computer networks supporting electronic mail systems.  
         BACKGROUND ART  
         [0002]    With the growth of computer networks, electronic mail (shortly referred to as e-mail) has become an extremely popular interpersonal communication media, for both private and professional purposes. In particular, thanks to the impressive diffusion of the Internet in the past few years, Internet e-mail nowadays provides a standard communication mechanism for millions of computer users.  
           [0003]    By means of any one of the several e-mail client softwares, such as IBM Lotusnotes, Microsoft Outlook or Outlook Express, and Eudora, just to cite some, composing and sending an e-mail message is a rather simple task, that involves specifying the e-mail address or addresses of one or more intended recipients of the message in one or more recipient address fields (the conventional “To”, “Cc” and “Bcc” fields) of a message composition window, editing if desired a message subject field, editing a message body and, possibly, attaching one or more files to the message. In particular, compiling the recipient address fields is made easier by address book utilities, which allow creating user-defined address books wherein the user can save e-mail addresses for subsequent retrieval. These utilities also allows the user creating mailing lists or groups of recipients, including two or more e-mail addresses of recipients which are normally jointly included by the user in the list of recipients: when the user desires to send an e-mail message to the recipients of a given mailing list, he/she does not need to individually select each recipient from the address book, being sufficient to select the respective mailing list.  
           [0004]    It frequently happens that, after having composed and sent an e-mail message to one or more recipients, the message sender realizes that the message, as such, should not have been sent. For example, by reviewing a copy of the sent message stored in a repository of sent messages, the message sender may notice that the message body contained some errors or was incomplete, or that one or more of the intended attachments were missing, or that the message was sent to the wrong recipient or recipients.  
           [0005]    Situations like these cannot be remedied and are, at best, highly disappointing for both the message sender and the message recipients, not to say potentially dangerous. From one hand, the message sender has to inform the recipients of the erroneous message that the message they received contained errors, and possibly provide the correct information; this may be done by sending an additional e-mail message, by phone, or personally. From the other hand, the recipients of the erroneous message, if not informed properly and timely of the errors contained therein, waste time reading the incorrect message; they may even be lead astray by the erroneous information contained in the incorrect message, and, possibly, they may undertake undesired actions.  
           [0006]    It is observed that the problem of sending erroneous messages, albeit probably not exclusively inherent to e-mail systems, is however exacerbated by the quickness of the process of compiling and sending e-mail messages.  
         SUMMARY OF THE INVENTION  
         [0007]    In view of the state of the art outlined above, it has been n object of the present invention to improve the efficiency and reliability of e-mail systems.  
           [0008]    In particular, it has been an object of the present invention to remedy the problems inherent to the delivery to the recipients of e-mail messages that, after being sent, are recognized by the sender to be erroneous.  
           [0009]    This and other objects have been attained by means of a method as set forth in the appended claim  1 .  
           [0010]    In brief, under the control of a Mail User Agent (MUA) of a message sender user, a list of messages sent by the sender user is kept. The sender user is enabled selecting a message from a list of sent messages, and a correcting message is caused to be sent to at least one of the message recipient users of the selected message. The correcting message includes a message qualifier qualifying the correcting message as a message intended to correct the selected message. For example, the correcting message may be a univocal message identifier, which is assigned by the mail user agent to each message that is sent.  
           [0011]    Under the control of an MUA of said at least one of the message recipient users, the correcting message is received and, using the message qualifier, the selected message is identified among the received messages, and a correcting action is performed on the identified selected message. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0012]    The features and advantages of the present invention will be made apparent by the following detailed description of an embodiment thereof, provided merely by way of non-limitative example, which will be made in conjunction with the attached drawing sheets, wherein:  
         [0013]    [0013]FIG. 1 is a schematic view of a computer network supporting an e-mail system;  
         [0014]    [0014]FIG. 2 schematically shows, in terms of functional blocks, the main components of a generic computer of the network;  
         [0015]    [0015]FIG. 3 schematically shows, in terms of functional blocks, the main components of the e-mail system;  
         [0016]    [0016]FIG. 4 pictorially shows a partial content of a working memory of a generic computer of the network while executing an e-mail client software according to an embodiment of the present invention;  
         [0017]    [0017]FIG. 5 is a schematic flowchart illustrating a process of generation of a correction e-mail message directed to correct an erroneous message, in an embodiment of the present invention;  
         [0018]    [0018]FIG. 6 pictorially shows a menu page that is displayed to a user of the e-mail client software for guiding him/her in a process of composition of the correction message; and  
         [0019]    [0019]FIG. 7 is a schematic flowchart illustrating a process of automatic replacement of an erroneous message by means of the correction message, in an embodiment of the present invention.  
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0020]    With reference to the drawings, in FIG. 1 a distributed electronic data processing system or computer network  100  is schematically shown. The computer network  100  can be for example a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN) or a network of networks such as the Internet, particularly but not imitatively an open network, and comprises a plurality of computers  105   a - 105   f  interconnected to each other by means of a data communication infrastructure  110 .  
         [0021]    As schematically shown in FIG. 2, a generic computer  105   i  of the computer network  100  comprises several functional units connected in parallel to a data communication bus  203 , for example of the PCI type. In particular, a Central Processing Unit (CPU)  205 , typically comprising a microprocessor, controls the operation of the computer  105   i , a working memory  207 , typically a RAM (Random Access Memory) is directly exploited by the CPU  205  for the execution of programs and for temporary storage of data, and a Read Only Memory (ROM)  209  is used for permanent storage of data, and stores for example a basic program for the bootstrap of the computer  105   i . The computer  105   i  comprises several peripheral units, connected to the bus  203  by means of respective interfaces. Particularly, peripheral units that allow the interaction with a human user are provided, such as a display device  211  (for example a CRT, an LCD or a plasma monitor), a keyboard  213  and a pointing device  215  (for example a mouse). The computer  105   i  also includes peripheral units for local mass-storage of programs (operating system, application programs) and data, such as one or more magnetic Hard-Disk Drivers (HDD), globally indicated as  217 , driving magnetic hard disks, and a CD-ROM/DVD driver  219 , or a CD-ROM/DVD juke-box, for reading/writing CD-ROMs/DVDs. Other peripheral units may be present, such as a floppy-disk driver for reading/writing floppy disks, a memory card reader for reading/writing memory cards, printers and the like. The computer  105   i  is further equipped with a Network Interface Adapter (NIA) card  221  for the connection to the data communication network  110 ; alternatively, the computer  105   i  may be connected to the data communication network  110  by means of a MODEM.  
         [0022]    Any computer  105   b , . . . ,  105   f  in the computer network  100  has a structure generally similar to that depicted in FIG. 2, possibly properly scaled depending on the machine computing power.  
         [0023]    Referring back to FIG. 1, the computer network  100  supports an e-mail system, enabling users of the computers  105   a - 105   f  to exchange e-mail messages over the network  100 . The details of the e-mail system are known per-se and will not be described in depth. Each one of the users of the computers  105   a - 105   f  who is a subscriber to the e-mail service is identified by a unique e-mail address; by way of non-limitative example, in the following it will be assumed that the e-mail system supported by the computer network  100  is an Internet e-mail system, in which an e-mail address takes the known form user@host.domain, and that users QRS, ABC, DEF, GHI, JKL, MNP of the computers  105   a  to  105   f  have respective e-mail addresses qrs@zx.org, abc@xy.com, def@xy.com, ghi@zw.com, jkl@zw.com, mnp@qr.net.  
         [0024]    As schematically depicted in FIG. 3, an e-mail system is conventionally composed by two kinds of sub-systems, cooperating with each other. A first type of sub-system includes Mail User Agents (MUAs)  300   a - 300   n , which typically are client softwares running on the computers of the e-mail service subscriber users and enabling the users to handle e-mail messages. A second type of sub-systems includes Mail Transport Agents (MTAs)  305   a - 305   k ; an MTA acts as a bridge between two or more MUAs, handling the distribution, i.e. the delivery and the reception of e-mail messages. Typically, an MTA includes a Simple Message Transfer Protocol (SMTP) server, handling the reception and the delivery of e-mail messages from and to other SMTP servers, and/or a Post Office Protocol (POP) server, e.g. a POP3 server, handling the delivery of e-mail messages to the MUAs. An MTA may also include an Internet Message Access Protocol (IMAP) server, e.g. an IMAP4 server, allowing a user to handle e-mail messages on the mail server directly from his/her computer, through the respective MUA. Several MUAs are commercially available, such as IBM Lotusnotes, Microsoft Outlook and Outlook Express, and Eudora. In general, an MUA provides a user interface for composing, receiving and reading e-mail messages, is capable of formatting the messages with the correct syntax, and is capable of handling communications with the MTA by means of the SMTP, POP3 and IMAP protocols.  
         [0025]    One or more computers  115   a ,  115   b  and  115   c  in the computer network  100  of FIG. 1 act as MTAs or mail servers; in particular, any mail server  115   a ,  115   b ,  115   c  may receive e-mail messages from a sender computer or from another mail server, and may deliver the received message to a recipient computer or to another mail server.  
         [0026]    When a computer user desires to take advantage of the e-mail system, he/she has to preliminary subscribe for the service at a mail server; an e-mail account is opened at the mail server for the new subscriber, an e-mail address is assigned thereto, and a mailbox is created. Typically, e-mail messages addressed to a given e-mail address are stored in the mailbox of the mail server holding the corresponding account, until the subscriber user connects to the mail server and downloads the messages from the mailbox. Similarly, when a subscriber user desires to send an e-mail message to one or more other subscribers, he/she composes the e-mail message and sends the message to the respective mail server, which then delivers the message to the intended recipients, according to the e-mail addresses specified in the message, as will be described later on.  
         [0027]    If, for example, the user QRS of the computer  105   a  (the sender) intends to send an e-mail message to one or more of the users ABC, DEF, GHI, JKL, MNP of the computers  105   b - 105   f  (the recipients), the computer  105   a  sends the message to the respective mail server  115   a ; based on the e-mail addresses of the message recipients, the mail server  115   a  then delivers the e-mail message to the proper mail servers  115   b ,  115   c  of the intended recipients. Each mail server  115   b ,  115   c  holds, for each of the respective subscriber users, a mailbox of incoming e-mail messages; by connecting to the mail server, each of the users ABC, . . . , MNP who is in the list of recipients can download the messages in the respective mailbox.  
         [0028]    In order to interact with the respective mail server  115   a - 115   c , in each of the computers  105   a - 105   f  an e-mail client software is installed. The e-mail client software, when running, acts as an MUA, allowing the user of the computer to compose and send an e-mail message and/or to connect to the respective mail server, so as to download and display the e-mail messages addressed to him/her.  
         [0029]    [0029]FIG. 4 schematically shows a partial content of a working memory  207  of the generic computer  105   i  of the network  100 , while executing an e-mail client software according to an embodiment of the present invention. A graphical user interface (GUI)  400  allows a friendly interaction of the computer user with the e-mail client software, through the display device  211  and the input devices  213  and  215 ; in particular, hardware-dependent software drivers  411 ,  413  and  415  are exploited by the GUI  400  for communicating with the peripheral devices  211 ,  213  and  215 .  
         [0030]    When the user wishes to compose a new e-mail message, a message composer module  420  is invoked. The message composer module  420  guides the user in the process of composing the e-mail message; this process conventionally involves specifying the e-mail addresses of the intended recipients, editing the message body, attaching files etc. During the composition of the e-mail message, the user may invoke an address book manager utility  425 , managing an address book  430  wherein the user can store, for subsequent retrieval, e-mail addresses of desired recipients. In particular, the address book manager utility  420  allows the user creating personalized recipient groups or lists, each one containing a group of recipients that, according to the user needs, may have to be jointly included in the list of recipients of a message.  
         [0031]    Once the new message has been composed, it is passed to a message formatter module  435 ; the message formatter module  435  formats the new message according to the syntax prescriptions of one of the known standards for formatting e-mail messages. Examples of these standards are the Request For Comments (RFC)  822  (“Standard for the Format of ARPA Internet Text Messages”) and the RFC 1341 (Multifunction Internet Mail Extension, shortly MIME), both of which are incorporated herein by reference; in particular, the RFC 822 standard is aimed at specifying the format of text messages in ASCII code, while the MIME standard, which is substantially an extension of the RFC 822 standard, also specifies the format for multimedia messages including sound, images, video.  
         [0032]    Considering, for the sake of simplicity, the RFC 822, this standard prescribes in particular that an e-mail message is a text string formed by a message header portion and a message body portion, separated by a blank line. The message body portion contains the message body. The message header portion has a rigid format, and consists of several fields, some of which must be present in every e-mail message. Typically, the message header portion includes a field (“From” field) specifying the e-mail address of the message sender. One or more fields are provided for specifying the intended recipient or recipients of the message; in particular, a field (“To” field) specifies the e-mail address, or the list of e-mail addresses of the intended primary recipients; an optional field (“Cc” or carbon-copy field) specifies the e-mail address, or the list of e-mail addresses of recipients who, albeit not being the intended primary recipients, are intended to receive a (carbon) copy of the message, in addition to the primary recipients; another optional field (“Bcc” or blind carbon-copy field) specifies one or more e-mail addresses of recipients that are intended to receive the message in copy, without however letting the respective address or addresses to be visible by the remaining message recipients. A field (“Subject” field) contains the message subject (if any) specified by the user. A field (“Date” field) contains an indication of the date (and time) the message has been sent.  
         [0033]    According to an embodiment of the present invention, the message formatter module  435  is configured so as to generate and include, in the message header portion of any message being formatted, an additional message identifier field; the message identifier field is used to specify a unique message identifier code univocally identifying the message. For example, under the standard RFC 822 the optional header field “Message-ID” can be exploited. The uniqueness of the message identifier field shall be guaranteed by the e-mail client software running on the computer of the message sender; a message identifier code pertains to exactly one instantiation of a particular message.  
         [0034]    By way of example, let it be supposed that the user QRS of the computer  105   a  prepares an e-mail message to be sent to the primary recipient ABC, and that a copy of the message has to be sent to the recipients DEF and JKL. The header of the formatted message will be:  
         [0035]    Date: 31 Dec 03 2359 PDT  
         [0036]    From: &lt;qrs@zx.org&gt; 
         [0037]    Subject: Happy new year  
         [0038]    To: &lt;abc@xy.com&gt; 
         [0039]    Cc: &lt;def@xy.com&gt;, &lt;jkl@zw.com&gt; 
         [0040]    Message-ID: &lt;OF6012DF61.14BFEF6C-NC1256C77.003DE64B@LocDomain&gt; 
         [0041]    where OF6012DF61.14BFEF6C-NC1256C77.003DE64B@LocDomain is the unique identifier code assigned to the message by the message formatter  435 .  
         [0042]    After the message formatter  435  has compiled the message, a compiled message file  437  is obtained. A communication manager  440  is invoked for handling the transmission of the message file  447  over the data communication infrastructure  110 , by means of the network interface adapter/MODEM  221  (driven by a software driver  445 ). A copy of the compiled message file  437  is also stored in a repository folder  450  of sent messages, containing a copy of every message that have been sent.  
         [0043]    According to an embodiment of the present invention, each time a new message is sent, a list  455  of the most recently sent e-mail messages is updated; in particular, the list  455  stores the content of the message identifier field (“Message-ID” field) and the subject field (“Subject” field) present in the header of the most recently sent e-mail messages; for example, the list  455  contains the five most recently sent messages.  
         [0044]    The e-mail message is sent from the computer of the message sender to the respective mail server; for example, if the message sender is the user QRS, the message is sent from the computer  105   a  to the mail server  115   a . On the basis of the list of recipients specified in the message header (field “To” and, optionally, fields “Cc” and “Bcc”), the mail server  115   a  delivers the message to the mailboxes of the intended recipients, if the accounts of the latter are held by the mail server  115   a , or the ail server  115   a  routes the message to one or more other mail servers, e.g. the mail servers  115   b  and  115   c.    
         [0045]    When one of the intended message recipients, e.g. the user ABC having the e-mail address abc@xy.com, launches the respective e-mail client software on the respective computer  105   b , the respective mail server  115   b  is accessed and the messages stored in the mailbox are downloaded from the mail server to the computer  105   b . A message parser module  465  of the e-mail client software analyzes the format of the received message  470  and, once the message format has been analyzed and recognized as an admissible or supported format, the received message is stored in a repository folder  475  of received messages. The user ABC may be informed of the receipt of a new message by visual and/or acoustical signals. Through a message viewer module  480 , the user ABC can access the repository folder  475 , select the desired message, e.g. by reading the message subject and/or the e-mail address of the message sender, and display the full message. Normally, after a message has been displayed by the message viewer, the message is marked as “read”; by marking a message already displayed as “read”, the message is displayed differently from a message that has not been read yet. Commercially-available e-mail client softwares also allow a user to delete a received message, removing it from the repository folder  475 , create custom-defined repository folders, and so on.  
         [0046]    Let it be assumed that the message sender, after having sent a given message, realizes that the message should not have been sent as such, for example because it contained errors in the message body, in the message subject, one or more attachments were missing, or undesired recipients were included in the recipient list. In the following, one such message will be simply referred to as a wrong message.  
         [0047]    According to an embodiment of the present invention, when the sender realizes that a wrong message has been sent, the user invokes a replacing message composer module  460 . This module is for example invoked by clicking on a button, or selecting a menu item, in the displayed window of the e-mail client software. The operation of the replacing message composer module is schematically depicted in the flowchart of FIG. 5, and will be now described in detail.  
         [0048]    When the replacing message composer module  460  is invoked and launched, a replacing message composition window is caused to be displayed by the GUI  400  on the display device  211  of the computer of the sender. FIG. 6 schematically shows an exemplary replacing message composition window  600 . The list  455  of the most recently sent e-mail messages is accessed, and the content of the “Subject” field of the most recently sent e-mail messages, stored in the list  455 , is displayed to the user in an area  605  of the window  600  (block  500 ). The replacing message composer module  460  then waits for the user to select the wrong message to be replaced (block  505 ); looking at the displayed subjects of the most recently sent messages, and using for example the pointing device  215  or the keyboard, the user selects the wrong message among the most recently sent messages by clicking onto the corresponding subject displayed in the window area  605 .  
         [0049]    It is observed that, in principle, the user might be allowed to select the wrong message through the whole list of sent messages, but enabling the replacement of relatively old messages normally has scarce effect, because the longer the time lapsed from when the wrong message was sent, the higher the probability that the wrong message has already been read by the recipients.  
         [0050]    It is also observed that, in an alternative embodiment, the provision of the list  455  of most recently sent messages could be dispensed for, and the replacing message composer module  460  might access the sent messages repository  450  directly, rank the messages in sending date and time order, and select for the visualization in the window area  605  the, e.g., five most recently sent messages.  
         [0051]    The user, reading the subjects of the most recently sent messages displayed in the window area  605 , identifies the wrong message to be replaced and selects it; according to the shown example, it is supposed that the message having subject “Happy new year” is selected. When the user selects the wrong message to be replaced, the replacing message composer module  460  gets the associated message identifier code of the wrong message stored in the list  455 ; using the message identifier code as a search key, the replacing message composer module  460  searches the sent messages repository  450  and identifies therein the wrong message  513  (block  510 ).  
         [0052]    Once the wrong message has been identified in the repository  450 , the replacing message composer module  460  creates (block  515 ) a new replacing message, schematically shown as  520  in FIG. 5; the new replacing message  520  is pre-compiled by the replacing message composer module  460  with data got from the selected wrong message; in particular, the message header fields “From”, “Subject”, “To”, “Cc”, “Bcc”, and the message body of the new message  520  are pre-compiled by the replacing message composer module  460  copying there into the information got from the corresponding fields of the selected wrong message  513 .  
         [0053]    The replacing message composer module  460  also includes in the new message  520  the unique message identifier code got from the “Message-ID” header field of the selected wrong message. According to an embodiment of the present invention, the wrong message identifier code is put in a specifically designed, additional header field, named for example “X-replace-mail”. It is observed that, for example, the RFC 822 standard allows the addition, in the header portion of an e-mail message, of one or more user-defined fields. In particular, the RFC 822 standard prescribes that a user-defined field is any field which has not been defined in the RFC 822 specification itself or published as an extension of that specification. The names to be assigned to the user-defined fiels must be unique. User-defined header fields can also be created under the MIME standard, following similar rules, being the MIME standard an extension of the RFC 822 standard. More generally, the replacing message composer module  460  includes in the new message  520  a message qualifier, qualifying the message as a message intended to correct, e.g. by replacing, a wrong message, and an indication of the wrong message to be deleted or replaced by the replacing message; such an indication, i.e. its information content, its form, and the specific way of inclusion in the replacing message  520 , may be whatsoever, and only needs to be comprehensible to the e-mail client software of the recipients, allowing the e-mail client software to identify the wrong message among the received messages.  
         [0054]    Then, the replacing message composer module  460  causes, through the GUI  400 , a message editing window to be displayed in an area  610  of the window  600  (block  525 ). The message editing window is substantially identical to the message composition window that is normally caused to be displayed by the message composer module  420  when the user wishes to compose a new e-mail message. In particular, the message editing window  610  includes: fill-in fields  615  to  625  for specifying the e-mail address or addresses of the primary intended message recipients (“To” header field), of the message carbon-copy recipients (“Cc” header field) and of the message copy recipients whose addresses are to be kept secret to other recipients (“Bcc” header field); a fill-in field  630  for specifying the message subject; a fill-in field  635 , for specifying one or more attachments to the message; and a fill-in field  640 , where the user can write the desired text body of the e-mail message. All these fields  615  to  640  are displayed to the user pre-compiled with the data taken from the wrong message  513  selected by the user; in this way the user can look at the details of the selected wrong message.  
         [0055]    The user can edit the fill-in fields  615  to  640 , using the input devices  213  and  215  (block  530 ). For example, the user can: modify the message subject (fill-in field  630 ) and/or the message body (fill-in field  640 ); modify the attachments to the message (fill-in field  635 ) (the user is normally guided in the selection of the files to be attached by a pop-up menu page—not shown—displayed by clicking on an “Attach” button  645  in the window  610 ); modify the list of message recipients by editing the fields  615 ,  620  and  625 , for example to add or remove e-mail addresses, or to move one or more e-mail addresses from one field to another field; clicking on buttons  650 ,  655 ,  660 , the user may invoke the address book manager utility  425  so as to access the address book  430 . In this example, it is supposed that the user edits the message body so as to correct the error “2002” into “2003”.  
         [0056]    When the replacing message editing is completed, the user causes the replacing message to be sent by clicking on a “Send” button  665  (decision block  535 , exit branch Y). In this way, the replacing message composer module  460  passes the replacing message  520  to the message formatter  435  (block  540 ), which causes the message to be formatted according to the prescribed standard, assigns a unique message identifier code to the message  520 , puts the date and time in the “Date” header field of the message, and invokes the communication manager  440 . The replacing message  520  is treated by the message formatter  435  and the communication manager  440  just like any other message  437 ; just like any other message, the replacing message  520  is sent from the computer of the message sender QRS to the respective mail server  115   a . On the basis of the list of recipients specified in the message header, the mail server  115   a  delivers the message to the mailboxes of the intended recipients, if the accounts of the latter are held by the mail server  115   a , or the mail server  115   a  routes the message to one or more other mail servers, e.g. the mail servers  115   b  and  115   c.    
         [0057]    According to an embodiment of the present invention, a message replacer module  485  is provided in the e-mail client software of a message recipient. The message replacer module  485  runs for example in background when the e-mail client software is running, and is operatively coupled to the message parser module  465 .  
         [0058]    The operation of the message replacer module is schematically depicted in the flowchart of FIG. 7.  
         [0059]    The message replacer module  485  normally waits for a new message to be received (decision block  700 , exit branch N). When the message replacer module  485  is signalled by the message parser module  465  that a new message has been received (decision block  700 , exit branch Y), the message replacer module  485  accesses the last received message  703  in the received message repository folder  475 , and checks whether the last received message includes, in the header portion, the user-defined header field “X-replace-message” (block  705 ), i.e. the message qualifier qualifying the message as a correction message of a wrong message; if no such field is found in the last received message  703 , or if such a field exists but is void (decision block  710 , exit branch Y), the message replacer module  485  does not undertake any further action, and jumps back to the new received message wait loop (connector A). If instead the field “X-replace-message” is found to be present and not void (decision block  710 , exit branch N), the message replacer module  485  gets the value contained in the field “X-replace-message” of the last received message  703  (block  715 ) and uses this value as a search key for searching the repository folder  475 , so as to find out a message having, in the “Message-ID” field, a value coincident with the value got from the field “X-replace-message” of the last received message  703  (block  720 ). If no such message is found (decision block  730 , exit branch N), for example because the message has not been received, or because the message has been received, read and deleted by the user ABC, the message replacer module  485  does not undertake any action, and jumps back to the new received message wait loop. If instead a message  725  is found (decision block  730 , exit branch Y), the message replacer module  485  checks whether the message  725  is marked as “read” (i.e., the message  725  has already been displayed by the recipient, e.g. the user ABC); according to an embodiment of the present invention, in the affirmative case (decision block  735 , exit branch Y), the message replacer module  485  does not undertake any action on the already read wrong message, and the replacement message will be simply displayed as a new message; preferably, the message replacer module causes a default replacement failure message  745  to be sent back to the message sender QRS (block  740 ), so as to inform the sender that the replacement of the wrong message failed. If the message  725  is not marked as “read” (decision block  735 , exit branch N), the message replacer module  485  deletes the wrong message or, preferably, moves the message  725  from the repository folder  475  into a different repository folder  490 , intended to contain the replaced messages (block  750 ), and causes a default replacement successful message  755  to be sent back to the message sender QRS (block  760 ). In this way, the wrong message  725  is removed from the list of received messages, and the user ABC will not see the wrong message, unless he/she deliberately accesses, via the message viewer  480 , the repository  490 . The message replacer module  485  then jumps back to the beginning, waiting for a new message to be received.  
         [0060]    Preferably, the message viewer  480 , recognizing from the presence of the header field X-replace-mail that the message is a replacement message of a wrong message, displays the message in a form such as to make clear to the message reader the replacement nature of the message. The user is however left free to display the wrong message through the message viewer  480 .  
         [0061]    Thanks to the present invention, the problems inherent to the delivery of wrong e-mail messages are at least mitigated; a message sender is in fact enabled to try and automatically replace a wrong message already sent with a correct message.  
         [0062]    The message sender can choose to send the correct message to some of the recipients of the wrong message only, in this way allowing to remedy situation in which the sender inadvertently sends a message to some undesired recipients.  
         [0063]    It is observed that, in an embodiment of the present invention, the wrong messages, once identified, are not canceled from the computer of the recipients, but are simply moved into a special folder; in this way, piracy actions are prevented.  
         [0064]    As schematically depicted in FIG. 3, the present invention can be implemented in a rather easy way by designing a plug-in  310   a ,  310   b , . . . ,  310   n  for the existing, commercially available MUAs. No changes to the MTAs are required. It is pointed out that the implementation of the present invention does not pose problems of compatibility between MUAs equipped with the plug-in and MUAs not equipped with the plug-in: the latter will simply treat a replacement message as any other message, without undertaking any action on the wrong message specified in the replacement message.  
         [0065]    Although the present invention has been described by way of an embodiment, it is apparent to those skilled in the art that several modifications to the described embodiments, as well as other embodiments of the present invention are possible without departing from the scope thereof as defined in the appended claims. For example, different ways of identifying a selected wrong message can be envisaged. way allowing to remedy situation in which the sender inadvertently sends a message to some undesired recipients.  
         [0066]    It is observed that, in an embodiment of the present invention, the wrong messages, once identified, are not canceled from the computer of the recipients, but are simply moved into a special folder; in this way, piracy actions are prevented.  
         [0067]    As schematically depicted in FIG. 3, the present invention can be implemented in a rather easy way by designing a plug-in  310   a ,  310   b , . . . ,  310   n  for the existing, commercially available MUAS. No changes to the MTAs are required. It is pointed out that the implementation of the present invention does not pose problems of compatibility between MUAs equipped with the plug-in and MUAs not equipped with the plug-in: the latter will simply treat a replacement message as any other message, without undertaking any action on the wrong message specified in the replacement message.  
         [0068]    Although the present invention has been described by way of an embodiment, it is apparent to those skilled in the art that several modifications to the described embodiments, as well as other embodiments of the present invention are possible without departing from the scope thereof as defined in the appended claims. For example, different ways of identifying a selected wrong message can be envisaged.