// composer packages load
require_once "vendor/autoload.php";
use PhpImap\Exceptions\ConnectionException;
use PhpImap\Mailbox;
$mailbox = new Mailbox(
'{imap.yandex.com.tr:993/imap/ssl/novalidate-cert}INBOX', // IMAP server and mailbox folder
'gdemir3327@yandex.com', // Username for the before configured mailbox
'********', // Password for the before configured username
__DIR__ . '/upload/', // Directory, where attachments will be saved (optional)
'UTF-8', // Server encoding (optional)
true, // Trim leading/ending whitespaces of IMAP path (optional)
false // Attachment filename mode (optional; false = random filename; true = original filename)
);
// Save attachments one by one
$count_email_attachments = count($email->getAttachments());
if ($count_email_attachments != 0) {
$attachments = $email->getAttachments();
foreach ($attachments as $attachment) {
echo '--> Saving '.(string) $attachment->name.'...';
// Set individually filePath for each single attachment
// In this case, every file will get the current Unix timestamp
$attachment->setFilePath(__DIR__.'/upload/'. $attachment->name);
if ($attachment->saveToDisk()) {
echo "OK, saved!\n";
} else {
echo "ERROR, could not save!\n";
}
}
}
Screenshots / Outputs
Fatal error: Uncaught Error: Call to undefined method PhpImap\IncomingMailAttachment::setFilePath() in /var/www/vhosts/v9.haberpanelim.com/httpdocs/ir/index.php:57 Stack trace: #0 {main} thrown in /var/www/vhosts/v9.haberpanelim.com/httpdocs/ir/index.php on line 57
The used code:
Screenshots / Outputs Fatal error: Uncaught Error: Call to undefined method PhpImap\IncomingMailAttachment::setFilePath() in /var/www/vhosts/v9.haberpanelim.com/httpdocs/ir/index.php:57 Stack trace: #0 {main} thrown in /var/www/vhosts/v9.haberpanelim.com/httpdocs/ir/index.php on line 57