473,406 Members | 2,281 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,406 software developers and data experts.

Email attachments

Is there a way I can put a message together without having to download any
attachments there may be at the same time. I'm not having any problems dealing
with attachments, but the way I'm doing things makes me download the complete
message first, attachements and all:
mail = []
for j in M.retr(i)[1]:
mail.append(j.rstrip())
inMail = email.message_from_string('\r\n'.join(mail))

I don't have a real problem per se with this, it's just that I would just as
soon not download the attachments as well at first. Also I'm wondering, are my
attachments potentially dangerous at the state when I first get them as part of
the email, or are they not potentially dangerous until I binary write that part
of the message into a file(that's how I'm dealing with attachments, if I want
to keep an attachment in the already downloaded complete email, I just write it
to a file.
Jul 18 '05 #1
3 3120

lu*************@aol.com (LutherRevisited) wrote:

Is there a way I can put a message together without having to download any
attachments there may be at the same time. I'm not having any problems dealing
with attachments, but the way I'm doing things makes me download the complete
message first, attachements and all:
mail = []
for j in M.retr(i)[1]:
mail.append(j.rstrip())
inMail = email.message_from_string('\r\n'.join(mail))

I don't have a real problem per se with this, it's just that I would just as
soon not download the attachments as well at first. Also I'm wondering, are my
attachments potentially dangerous at the state when I first get them as part of
the email, or are they not potentially dangerous until I binary write that part
of the message into a file(that's how I'm dealing with attachments, if I want
to keep an attachment in the already downloaded complete email, I just write it
to a file.

On POP3 mail servers, there are but two parts of the message; the header
and body. Some servers support the TOP command, which is used like so:
TOP <message> <bodylines>

With that command, you can get the headers and <bodylines> number of
lines from the body of the email message, on servers that support it.
Now, understand that in the case of POP3, the server does not understand
what you think of as an attachment. It is all just the body of the
email (likely encoded with base64), separated with section delimiters.

Also understand that the ordering of these "attachments" can be
arbitrary (include the binary attachment, then the plain text email,
then the html email), so you may need to download the entire email to
get the plain text message body.

- Josiah

Jul 18 '05 #2
Thanks, I looked into TOP and it looks like I'll be able to handle that issue
satisfactorily with at least one, maybe many, but not all servers. POP3 is not
looking good to me now, but with Yahoo what can you do....
Jul 18 '05 #3

lu*************@aol.com (LutherRevisited) wrote:
Thanks, I looked into TOP and it looks like I'll be able to handle that issue
satisfactorily with at least one, maybe many, but not all servers.
Perhaps you missed the later part of my post when I explained that the
location of attachments can be arbitrary. That is, attached files can
come before what most people consider to be the body of the email (text
like what you are reading now). At best, using TOP is a 95% solution.
The 100% solution is to just download the email and call it good.

If you merely care whether there is an attachment or not, deciding based
on the size of an email (the sizes returned by LIST) can be reasonable.

POP3 is not looking good to me now, but with Yahoo what can you do....


Well, with Yahoo, you can only access them via POP3 if you have paid for
their services.

Really, mail access comes down to the simple maildrop approach that is
all client-side (POP3), or the complicated server handles everything
approach (IMAP4).

With a simple approach comes a simple protocol. POP3 servers and
clients can be implemented in an afternoon, and I have done so a few
times (it is what I get paid to do).

The IMAP4 spec is huge, and allows asynchronous command processing (the
server can reply to command B before command A when command A was given
first), which complicates matters. Having written partial IMAP4 servers
and clients, I will tell you that it is not really approachable in
anything less than a weekend.

I believe that the reason why very few large webmail providers offer
IMAP4 access is due to the protocol being very difficult to get right,
and because POP3 does most of what is necessary.
In my opinion, what is really needed is a protocol that sits between
POP3 and IMAP4. POP3 with folder support and a few other little pieces
would be sufficient to implement all the protocol necessary for a
full-on webmail service with the features of both Gmail and Yahoo Mail.
Unfortunately, the liklihood of this happening and becoming widespread
is very low; both the POP3 and IMAP4 RFCs have been around for quite a
while, and many among the email community believe that they are
sufficient.

Ah well...
- Josiah

Jul 18 '05 #4

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

Similar topics

4
by: Paul Schmidt | last post by:
Dear list: I am new to python, and I am trying to figure out the short answer on something. I want to open a POP3 mailbox, read the enclosed mail using the POP3 module, , and then process it...
5
by: morphex | last post by:
Hi, I have an email that's in the utf-8 encoding, and I'm getting this error message when I try to send it using smtplib: * Module smtplib, line 688, in sendmail * Module smtplib, line 485,...
5
by: paii, Ron | last post by:
How do I setup a email with attachment for preview but require the user to push the SEND button in Outlook. I have the following function but it sends the email without the sender ever seeing it. ...
4
by: Russell Bungay | last post by:
Hello all, I have written a short function, based on a recipe in the Python Cookbook, that sends an e-mail. The function takes arguments that define who the e-mail is to, from, the subject, the...
1
by: mike11d11 | last post by:
If someone could help me, I need to be able to send attachments from my access database that I have created. This database runs queries then generates a report off the queries from underlying...
10
by: OdAwG | last post by:
Hello All, Is it possible to send an email from Access? I found a Microsoft article on how to do this but I keep getting an error "RUNTIME ERROR 438" -- Object doesn't support this property or...
2
by: oyster | last post by:
I find that the existing email moudle is some hard for me to understand, especially the part of how to set the CC, BCC and attach the files. Is there any more easy one like this p-code? import...
1
by: Steve Holden | last post by:
I'm having some trouble getting attachments right for all recipients, and it seems like Apple's mail.app is the pickiest client at the moment. It doesn't handle attachments that both Thunderbird...
1
by: budyerr | last post by:
All, I am trying to build a email submission form using asp.net. I currently have a web form page that will upload to my webhosting server, attach to email then delete the file after sending. ...
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?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
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
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
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,...

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.