On 17/7/00 2:40 AM, Raymond E. Griffith wrote:
> on 7/16/2000 1:11 PM, andu <[EMAIL PROTECTED]> tried to help me with my
> problem below:
>
>>
>>> I am trying to send an attachment file with the mcmail.mc file. So far, this
>>> is what I have done:
>>>
>>> I put a field "theAttachment" into the card. The script is from the button
>>> "Send", with my addition clearly marked.
>>>
>>> It does something, but it doesn't place it as an attachment, but as a part
>>> of the body text.
>>>
>>>
>>> # construct email header
>>> put "" into mailraw
>>> put "From: "& fld "mailfrom" & crlf after mailraw
>>> put "Date: "& mimedate() & crlf after mailraw
>>> put "Content-Type: text/plain; charset=us-ascii"& crlf after mailraw
You have to change the above line to something like:
put "Content-Type: multipart/mixed; boundary="& quote &\
"TheMailBoundary"& quote & crlf after mailraw
>>> put "MIME-Version: 1.0"& crlf after mailraw
>>> put "Message-Id: <"& the seconds &"-"& the ticks &"@MetaCardSMTP>" & crlf
>>> after mailraw
>>> put "To: "& fld "to" & crlf after mailraw
>>> if fld "cc" <> "" then
>>> put "CC: "& fld "cc" & crlf after mailraw
>>> end if
>>> put "Subject: "& fld "subject" & crlf after mailraw
>>> put crlf & fld "body" after mailraw
Add the following here into the body:
put "--TheMailBoundary"& crlf &\
"Content-Type: text/plain; charset=us-ascii"& crlf & crlf after mailraw
You may continue with your normal text mail body.
And finally add the following for your attachment:
# the attachment header
put "--TheMailBoundary"& crlf &\
"Content-Type: application/base64; charset=us-ascii"& crlf &\
"Content-Disposition: attachment; filename="& quote & \
theAttachmentName & quote & crlf &\
"Content-Transfer-Encoding: base64"& crlf & crlf after mailraw
# the attachment base64 code
put base64Encode(theattachment) & crlf after mailraw
# closing the email
put "--TheMailBoundary--" after mailraw
>>> -- ** MY ADDITION
>>> if fld "theAttachment" is not empty then
>>> put fld "theAttachment" into theAttachmentName
>>
>> Try
>> put url "binfile:" & theAttachmentName into theattachment
>> put crlf & "Content-Type: application/base64; name=" & quote & \
>> theAttachmentName & quote after mailraw
>> put crlf & crlf & base64Encode(theattachment) after mailraw
>>
>
> I tried it. Still doesn't work. It does do something different, though (I'm
> not sure exactly why...). It seems to encode the name, but not the file.
The point here is to create a multipart MIME mail. If you refuse to read RFC
document, you can just grab a sample source of email with attachment.
Note that used of static "TheMailBoundary" here wasn't a good idea, you
should change it to a random generated string.
I have tried the code, so be careful.
Hope this helps.
Regards,
LiangTyan Fui
> But thanks. Still working on it. Any other suggestions?
>
>>> put "binfile:" & theAttachmentName into theattachment
>>> put crlf & "Content-Type: application/base64; name=" & quote &
>>> theattachment & quote after mailraw
>>> put crlf & crlf & base64Encode(url theAttachment) after mailraw
>>> end if
>>> --
>>>
>>>
>>> # socket implementation, talking to smtp
>>> smtpsend fld "smtpserver",fld "mailfrom",validEmailList,mailraw
>>> end composemail
>>>
>>>
>>> --------------
>>>
>>> I sent the file (a MetaCard file) to myself. I copied and pasted the encoded
>>> data in my email into a MC field. A button has the following script:
>>>
>>> on mouseUp
>>> ask file "What file to save to?"
>>> put it into thefileName
>>> put base64Decode(field "thebinfile") into URL thefileName
>>> end mouseUp
>>>
>>> But now, when I attempt to open the file (type into the message box "Answer
>>> file "?"; open it), I get the message "stack was corrupted by a non-binary
>>> file transfer"
>>>
>>> -------------
>>>
>>> So, any suggestions? I really *need* to be able to send file attachments
>>> with this MCmail protocol. I am building an app that will generate a MC
>>> stack, then email it to the appropriate person.
>>>
> Thanks for your help,
>
> Raymond
Archives: http://www.mail-archive.com/metacard%40lists.best.com/
Info: http://www.xworlds.com/metacard/mailinglist.htm
Please send bug reports to <[EMAIL PROTECTED]>, not this list.