473,398 Members | 2,113 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,398 software developers and data experts.

XeMaiL feedback wanted

Background:
Interoperability between email agents is becoming increasingly important
as they diverge more and more in appearance (e.g. graphical vs.
non-graphical), focus (e.g. speed vs. looks), and complexity (e.g.
ability to parse badly formatted emails). The situation resembles the
one which is at the point of being mended by XHTML and XSL.

Solution:
I believe the same approach as for HTML should be taken for email:
Define an XML Schema for valid emails, and implement extensions to
existing email agents to make sure the emails they produce validate
according to the Schema. The Schema should use a similar structure to
that of XHTML. Until properly implemented, user agents might include the
XML email as a MIME attachment.

Example 1:
There exist three schemes for where to put the reply to a mail, namely
before the mail being replied to, after it, or in between the contents.
By using XML, one can clearly indicate which part of the email is being
replied to in the different parts of the reply, and thus link them in an
unambiguous way, leaving the disposition of the mail to the client. This
way, nobody will have to read (much less format) something like the
following:

---------------------
First reply
Original message


Second reply
---------------------

Example 2:
There exist different schemes for indicating threading in emails, and
these are interpreted differently by email clients. A lot of persons use
email clients which do not use the English "Re:" to indicate a reply,
and this is also known to cause problems with threading correctly in
some email clients. Some email clients even regard all emails with the
same "Subject" value as belonging to the same thread. By demanding an
identification tag to be included in each email, and a tag to indicate
the ID of the email being answered, threading emails correctly would
become almost trivial.

Example 3:
Searching for an email or part of an email can be made simpler, as XML
emails will contain a lot of explicit structural information. E.g., in a
discussion group it would be rather easy to find every email that
replied to only a certain part of another email. This can be
particularly interesting if the first email is rather long, with
distinct topics which each branch into their own discussion.

Example 4:
Signatures can be enclosed by a <signature> tag, making the error-prone
(and de facto little used) "dash dash space" solution obsolete, and
making the process of building a relevant signature easy. On the client
side, this can make the creation and update of contact information
easier, as the postal address, photograph, telephone numbers etc. can be
extracted automatically from an <address> block.

Other benefits and extensions:
1. To facilitate email reading on devices with small displays, one can
easily extract the important parts of an email using XSLT. XSLT files
can be stored online for reference, or attached to the email.
2. XSL-FO information can also be referenced or attached.

I really hope XML email in some form or another will be standard soon,
as the present situation leaves much to be desired...

Finally, I have made an example of an XeMaiL shell (with comments), to
be filled in with values present in normal emails:
<mail message_id="">
<header>
<received-path>
<received>
<from>
<address>
<dns></dns>
<ip></ip>
</address>
</from>
<by>
<address>
<dns></dns>
<ip></ip>
</address>
</by>
<with></with>
<for></for>
<date></date>
</received>
<received>
...
</received>
</received-path>
<keywords>
<keyword></keyword>
...
</keywords>
<date></date>
<from>
<person>
<name>
<first></first>
<middle></middle>
<last></last>
</name>
<address>
<postal>
<street></street>
<number></number>
<postal_code></postal_code>
<country></country>
</postal>
<email></email>
<web></web>
</address>
<telephone>
<home>
<country></country>
<area_code></area_code>
<number></number>
</home>
<mobile>
<country></country>
<area_code></area_code>
<number></number>
</mobile>
</telephone>
</person>
<company>
<name></name>
<type></type>
<country></country>
<address>
<email></email>
</address>
</company>
</from>
<to>
<email></email>
<name></name>
...
</to>
<subject></subject>
<mime>
<version></version>
</mime>
<content>
<type></type>
<charset></charset>
<disposition></disposition>
<transfer_encoding></transfer_encoding>
</content>
<user_agent>
<name></name>
<version></version>
<uri></uri>
</user_agent>
<reply_to>
<email></email>
<name></name>
</reply_to>
<in_reply_to>
<message_id></message_id>
</in_reply_to>
</header>
<contents>
<answered_mail id="" part="">
I didn't find a better name for it at the moment. The
attribute "part" can be a serial number to indicate the different parts
of the old email being answered at different points in the new email.
</answered_mail>
<answer id="" part="">
... XHTML 2 or something similar ...
</answer>
Additional text, e.g. the adressing of a topic not adressed
earlier in the conversation.
</contents>
<signature space="preserve">X X ee M M aaa i L
X X e e M M M M a i L
X eeee M M M aa i L
X X e M M M a a i L
X X ee M M aaa i LLLLL
from /me</signature>
</mail>
Jul 20 '05 #1
1 1645
This is a first draft of an XML Schema to be able to validate XML email.
Some constructive feedback, especially about the gaps and obvious
errors, will be most welcome.

XeMaiL contents, program-specific XSLT and XSL-FO for picking out the
relevant bits and displaying them, plus schemas to check whether it is
all hanging together, now that would definitely make the world a better
place. How about we get ourselves out of this mess?

You are free to use the schema as you wish.

--
Victor Engmark

Jul 20 '05 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Mindful_Spirit | last post by:
I'm trying to set up a basic email feed back form like this, and was wondering about some basic configuration settings. I have used code from this website. I have it working just fine. I'm...
19
by: Blair Adamache | last post by:
IBM is hosting a user focus session to get feedback on a new design concept for installing software products and maintenance. The information below gives a brief summary of the information about...
0
by: starace | last post by:
I have designed a form that has 5 different list boxes where the selections within each are used as criteria in building a dynamic query. Some boxes are set for multiple selections but these list...
3
by: scorpion53061 | last post by:
Hi, I am looking for a code sample that communicates from a client to a remote Windows Service on another computer over the internet, that is the Windows Service performing instructions the...
12
by: windandwaves | last post by:
Hi Folk I would like some feedback on my e-commerce development: www.antlervelvet.co.nz/test/index.php I am particularly interested in the actual e-commerce application (e.g. navigation,...
9
by: gs | last post by:
the feedback for the install of c#2008 places 97 to 99% cpu load for way too long on athlon x64 3800+ PC. 3/4 an hour later its only about 80% complete, continuing with 98% CPU load! Next time...
14
by: Egbert Teeselink | last post by:
Hi all, The last few months I've worked on making a template engine because the ones out there didn't serve my needs. I guess everybody knows Smarty and has an opinion on it; I like many things...
6
by: Christopher Vogt | last post by:
Hej everybody, I built something for myself that might help some of you as well. Looking at a couple of PHP template engines made me think. I have two main requirements for a presentation...
16
by: dhtml | last post by:
Breaking up the FAQ has been discussed. http://groups.google.com/group/comp.lang.javascript/browse_frm/thread/d11878ddfb2ac892/ I'm interested in doing this now. I propose something along the...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.