DataFlex
DataFlex
Strip Path Info from Attachment Filenames
See more Email Object Examples
Demonstrates the Chilkat Email.RemoveAttachmentPaths method, which removes relative or absolute path information from the attachment filenames stored in the MIME, leaving only each final filename component. This example adds an attachment whose name includes a path and shows the filename before and after.
Background: An attachment filename that carries a path (like
reports/2026/q3/summary.txt) is a problem: some mail clients display the whole path, and — more seriously — a path with .. segments can be a directory-traversal risk when attachments are saved to disk. Reducing every filename to just its final component (summary.txt) makes the message cleaner and safer to handle.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Handle hoEmail
Boolean iSuccess
String sTemp1
// Demonstrates the RemoveAttachmentPaths method, which removes relative or absolute path
// information from attachment filenames stored in the MIME, leaving only each final
// filename component.
Get Create (RefClass(cComChilkatEmail)) To hoEmail
If (Not(IsComObjectCreated(hoEmail))) Begin
Send CreateComObject of hoEmail
End
Set ComSubject Of hoEmail To "Remove attachment paths"
// Add an attachment whose filename includes path information.
Get ComAddStringAttachment Of hoEmail "reports/2026/q3/summary.txt" "Attachment content." To iSuccess
Get ComGetAttachmentFilename Of hoEmail 0 To sTemp1
Showln "Filename before: " sTemp1
// Strip the path, leaving only the final filename component.
Send ComRemoveAttachmentPaths To hoEmail
Get ComGetAttachmentFilename Of hoEmail 0 To sTemp1
Showln "Filename after: " sTemp1
End_Procedure