Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
Download and Save Email Attachments (POP3)Downloads emails from a POP3 mailbox and saves all attachments. use chilkat; # The mailman object is used for receiving (POP3) # and sending (SMTP) email. $mailman = new chilkat::CkMailMan(); # Any string argument automatically begins the 30-day trial. $success = $mailman->UnlockComponent("30-day trial"); if ($success != 1) { print "Component unlock failed" . "\n"; exit; } # Set the POP3 server's hostname $mailman->put_MailHost("mail.chilkatsoft.com"); # Set the POP3 login/password. $mailman->put_PopUsername("***"); $mailman->put_PopPassword("***"); # 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 eq null ) { print $mailman->lastErrorText() . "\n"; exit; } $dirPath = "c:/myAttachments"; 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 != 1) { print $email->lastErrorText() . "\n"; exit; } # The OverwriteExisting property controls whether already-existing files # are automatically overwritten. By default, it is set to 1 so that existing # files will be overwritten. # Setting OverwriteExisting = 0 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(0); $success = $email->SaveAllAttachments($dirPath); if ($success != 1) { print $email->lastErrorText() . "\n"; exit; } $n = $email->get_NumAttachments(); for ($j = 0; $j <= $n - 1; $j++) { # If the attachment filename was changed to prevent overwriting, # GetAttachmentFilename will return the new filename. print $email->getAttachmentFilename($j) . "\r\n"; } # You may also save individual attachments: for ($j = 0; $j <= $n - 1; $j++) { print "Original Filename: " . $email->getAttachmentFilename($j) . "\r\n"; $success = $email->SaveAttachedFile($j,$dirPath); if ($success != 1) { print $email->lastErrorText() . "\n"; exit; } # If OverwriteExisting = 1, 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. print "Saved Filename: " . $email->getAttachmentFilename($j) . "\r\n"; } } |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.