Chilkat HOME ASP Visual Basic VB.NET C# C C++ MFC Delphi FoxPro Java Perl Python Ruby SQL Server VBScript
Download and Save Email Attachments (POP3)Downloads emails from a POP3 mailbox and saves all attachments.
<?php // The mailman object is used for receiving (POP3) // and sending (SMTP) email. $mailman = new COM("Chilkat.MailMan2"); // Any string argument automatically begins the 30-day trial. $success = $mailman->UnlockComponent('30-day trial'); if ($success != true) { print 'Component unlock failed' . "\n"; exit; } // Set the POP3 server's hostname $mailman->MailHost = 'mail.chilkatsoft.com'; // Set the POP3 login/password. $mailman->PopUsername = '***'; $mailman->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 (is_null($bundle)) { print $mailman->lastErrorText() . "\n"; exit; } $dirPath = 'c:/myAttachments'; for ($i = 0; $i <= $bundle->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) { 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->OverwriteExisting = false; $success = $email->SaveAllAttachments($dirPath); if ($success != true) { print $email->lastErrorText() . "\n"; exit; } $n = $email->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) . "\n"; } // You may also save individual attachments: for ($j = 0; $j <= $n - 1; $j++) { print 'Original Filename: ' . $email->getAttachmentFilename($j) . "\n"; $success = $email->SaveAttachedFile($j,$dirPath); if ($success != true) { 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) . "\n"; } } ?> |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.