Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
|
Download and Save Email Attachments (POP3)Downloads emails from a POP3 mailbox and saves all attachments.
import com.chilkatsoft.*; public class ChilkatExample { static { try { System.loadLibrary("chilkat"); } catch (UnsatisfiedLinkError e) { System.err.println("Native code library failed to load.\n" + e); System.exit(1); } } public static void main(String argv[]) { // The mailman object is used for receiving (POP3) // and sending (SMTP) email. CkMailMan mailman = new CkMailMan(); // Any string argument automatically begins the 30-day trial. boolean success; success = mailman.UnlockComponent("30-day trial"); if (success != true) { System.out.println("Component unlock failed"); return; } // Set the POP3 server's hostname mailman.put_MailHost("mail.chilkatsoft.com"); // Set the POP3 login/password. mailman.put_PopUsername("***"); mailman.put_PopPassword("***"); CkEmailBundle bundle; // Copy the all email from the user's POP3 mailbox // into a bundle object. The email remains on the server. bundle = mailman.CopyMail(); if (bundle == null ) { System.out.println(mailman.lastErrorText()); return; } String dirPath; dirPath = "c:/myAttachments"; int i; CkEmail email; for (i = 0; i <= bundle.get_MessageCount() - 1; i++) { email = bundle.GetEmail(i); // You may save all the attachments to the specified directory // by calling SaveAllAttachments. // The SaveAllAttachments method will automatically create the directory // if it does not already exist. success = email.SaveAllAttachments(dirPath); if (success != true) { System.out.println(email.lastErrorText()); return; } // The OverwriteExisting property controls whether already-existing files // are automatically overwritten. By default, it is set to true so that existing // files will be overwritten. // Setting OverwriteExisting = false will cause the attachment-saving methods to generate // unique filenames if a file with the same name already exists. The actual filename(s) // saved will be present by calling GetAttachmentFilename for each attachment *after* // saving. // For example... email.put_OverwriteExisting(false); success = email.SaveAllAttachments(dirPath); if (success != true) { System.out.println(email.lastErrorText()); return; } int n; n = (int) email.get_NumAttachments(); int j; for (j = 0; j <= n - 1; j++) { // If the attachment filename was changed to prevent overwriting, // GetAttachmentFilename will return the new filename. System.out.println(email.getAttachmentFilename(j)); } // You may also save individual attachments: for (j = 0; j <= n - 1; j++) { System.out.println("Original Filename: " + email.getAttachmentFilename(j)); success = email.SaveAttachedFile(j,dirPath); if (success != true) { System.out.println(email.lastErrorText()); return; } // If OverwriteExisting = true, the saved filename will always equal the original filename, // unless there are characters present in the filename that are not allowed by Windows, // such as * ? < > | etc. In those cases the illegal characters are either removed or replaced // with underscore characters to allow the file to be saved. System.out.println("Saved Filename: " + email.getAttachmentFilename(j)); } } } } |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.