473,661 Members | 2,432 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

XeMaiL feedback wanted

Background:
Interoperabilit y 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_encod ing></transfer_encodi ng>
</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_mai l 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 1657
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
5214
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 running IIS on my home machine. My problem is that I need to upload this stuff to a webhosting place and register a domain and I'm not sure what to put as the smtp mail server value
19
3049
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 the session. If you are interested and feel that you are qualified, please send an e-mail to Karen Ball at kball@protocolusa.com. Or you can phone Sam Sellers or Flo Tassel at 800-615-9287. Protocol is a recruiting agency that IBM has hired to...
0
3497
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 boxes do not necessarily need to have a selection made to be used in the dynamic query. In essence the form can have selections made in all or none of its list boxes to form the dynamic query I am looking to get some feedback in reference to...
3
1347
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 client sends. That being said, I also would like feedback on this. Currently in my Windows applications, I do a lot of communication with my servers at work from customers to place orders, check stock status etc. The production server is a AIX...
12
1465
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, ease of use, etc...). I am trying to turn it into my first open source project and I want to post it on phpclasses when it is ready.
9
2497
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 installing visual studio /dot product I will likely make sure no feedback
14
1572
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 about it, but dislike many others. The thing I made is called 'Farty' (sorry, I suck at names) and is in many ways a simpler version of Smarty. It keeps the good (compiling to php files, clean syntax) and fixes the bad (having to learn a new...
6
1335
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 layer framework: - use PHP as the template language - effective XSS prevention without betting on discipline Plain PHP only satisfies the first. I could not find a PHP template
16
1520
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 lines of: * Numbers * Windows and Frames * Forms
0
8428
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, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8341
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 effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
8630
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 protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
7362
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, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6181
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 presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5650
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4177
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
2760
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
1984
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

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.