php-imap icon indicating copy to clipboard operation
php-imap copied to clipboard

[BUG] Fatal error: Uncaught Error: Call to undefined method PhpImap\IncomingMailAttachment::setFilePath()

Open gdemir opened this issue 2 years ago • 0 comments

The used code:

// 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
        '[email protected]', // 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

gdemir avatar Jan 02 '23 12:01 gdemir