Emailing the attachment created with the Quick Screenshots Script(Python + PIL)
Gabriel Genellina
gagsl-py2 at yahoo.com.ar
Fri Sep 28 21:24:29 EDT 2007
En Fri, 28 Sep 2007 12:56:18 -0300, Mark Bratcher
<mbratcher at cclpcitrus.com> escribi�:
> The quick screenshots script works great for the project I'm working on
> and
> I'm trying to modify it to include emailing the JPG file it generates. I
> retrieved both scripts from the Python Archives. The modified script is
> pasted below and the errors below that. My goal is to have the latest
> date
> stamped file emailed to me.
> editorstring='"start"%s" "%s"'% (ImageEditorPath,saveas) #Just for
> Windows
> right now?
Do you really want to open the image with MSPaint? If not, remove the
above line and the os.system call
(it's wrong, anyway...)
> # me == the sender's email address
>
> # family = the list of all recipients' email addresses
>
> msg['From'] = ("Mark Bratcher")
>
> msg['To'] = COMMASPACE.join("Mark Bratcher")
Ouch... Try printing msg['To'] (before correcting anything) and see what
happens :)
msg['From'] = "your at email.address"
msg['To'] = "the.destination at email.address"
They might be the same address. That COMMASPACE.join was to account for
multiple recipients - just ignore it for now.
> for file in "c:\downloads\python\Attachments\*.jpg":
a) This `for` iterates over all the LETTERS on c:\downloads...
b) The path should be written r"c:\downloads..." as seen on the first
lines on your script
c) Don't you want a SINGLE jpg? Why iterate over all ones? You already
know the filename, it's the `saveas` variable above.
Replace the whole for loop with:
# Open the files in binary mode. Let the MIMEImage class automatically
fp = open(saveas, 'rb')
img = MIMEImage(fp.read())
fp.close()
msg.attach(img)
> # Send the email via our own SMTP server.
> s = smtplib.SMTP()
Above, you may need to provide details about your SMTP, like
SMTP("mail.cclpcitrus.com")
> s.connect()
> s.sendmail(me, family, msg.as_string())
> s.close()
me? family?
Try with:
s.sendmail(msg['From'], msg['To'], msg.as_string())
Good luck!
--
Gabriel Genellina
More information about the Python-list
mailing list