Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 910
  • Last Modified:

help with CDOSYS attachments?

HI, I've been reading about the change from CDONTS in w2003 to CDOSYS.
This causes me a problem as a useful parameter of CDONTS.NewMail.attachFile() doesnt seem to exist in CDOSYS.Message.addAttachment()

Situation is that my server is sending emails out really fast and some files sent out in successive emails are common in terms of content and name. The temporary  get deleted once sent but Windows doesnt always delete them instantly and I've hit timing problems where names are common.  

I needed to either
1) call the files by a GUID identity and pass that into the mail send as an attachment , but also pass its meaningful name into the email (ie attachFile ("\temp\F345626262A.xml", "invoice27.xml") so the recipient sees the meaningful name "invoice27.xml" in the email where the attachment is shown)
or else
2) Use a temporary folder called by a guid and store the file by its meaningful name in there, send, then delete the file and folder This works okay for Message.addAttachment() as the meaningful name is used, but I cant seem to delete the folder using ASP after the email send as the mail code isnt letting it go (error: "folder could not be removed").  If you comment out the single line of addAttachment() code , the folder is deleted without any issue.  
Obviously I cant just let these folders build up.

I have checked the parent folder's permissions and IWAM_(machine) and IUSR_(machine) have full permissions. CREATOR_OWNER has sufficient permissions. These are all passed on down to child folders.  I don't think there is a huge permissions problem anyway as the folders can be deleted if no attachment is actually sent.

Can anyone tell me how to get addAttachment() to accept a given file, but call it by another (ie meaningful) name within the actual email?  (ie as attachFile() did)
0
simonm0966
Asked:
simonm0966
  • 2
1 Solution
 
L00MCommented:
With iMsg
.AddAttachment "<your file here>"
.attachments(1).fields("urn:schemas:mailheader:content-disposition") = "attachment; filename=""blah.pdf"""
.attachments(1).fields.update()
End With
0
 
simonm0966Author Commented:
I worked it around to this in JScript but your premise was fine.
// AttachFile method no longer present in CDOSYS so need to change attachments metadata 
// to ensure correct file name for attachment
var objAttachment=objMail.addAttachment (attachment, attachmentname);
objAttachment.Fields ("urn:schemas:mailheader:content-disposition").Value= 							'attachment; filename="' + attachmentname + '" ';
objAttachment.Fields.Update();

Open in new window

0
 
simonm0966Author Commented:
I need to do extra work as I'm using JScript.  The VB references werent easy to do in JScript as I'm a relative novice at VBScript and to a lesser extent in JScript. To be fair though, I didnt say that I preferred an answer in JScript.  I could see whtat L00M was trying to achieve
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now