Webklex / laravel-imap

Laravel IMAP is an easy way to integrate both the native php-imap module and an extended custom imap protocol into your Laravel app.
https://www.php-imap.com
MIT License
629 stars 179 forks source link

how to merge multiple email accounts in folder eg inbox #476

Open ssekimuli opened 1 year ago

ssekimuli commented 1 year ago

how to merge multiple email accounts in folder eg inbox

Webklex commented 1 year ago

Hi @ssekimuli , thanks for posting your question. I'm not really sure what you are asking.. Please add a brief description or a theoretical example.

Best regards and happy coding,

ssekimuli commented 1 year ago

let i have two account and i want connect them once

On Thu, Jul 6, 2023 at 12:34 PM Webklex @.***> wrote:

Hi @ssekimuli https://github.com/ssekimuli , thanks for posting your question. I'm not really sure what you are asking.. Please add a brief description or a theoretical example.

Best regards and happy coding,

— Reply to this email directly, view it on GitHub https://github.com/Webklex/laravel-imap/issues/476#issuecomment-1623339761, or unsubscribe https://github.com/notifications/unsubscribe-auth/AT5WHGENBRDKQIEZDIE77WTXO2BBTANCNFSM6AAAAAA2AA2FUU . You are receiving this because you were mentioned.Message ID: @.***>

Webklex commented 1 year ago

Thanks for clarifying. You can configure as many accounts as you like inside your config https://github.com/Webklex/laravel-imap/blob/master/src/config/imap.php#L47 or by providing the same array as options during the initialization https://www.php-imap.com/api/client-manager Afterwards you can access each configured account via:

/** @var \Webklex\PHPIMAP\ClientManager $cm */
/** @var \Webklex\PHPIMAP\Client $client */

$client = $cm->account('account_identifier');

You could also store the account information somewhere else and just create a new instance on the fly if needed:

/** @var \Webklex\PHPIMAP\ClientManager $cm */
/** @var \Webklex\PHPIMAP\Client $client */

$client = $cm->make([
    'host'          => 'somehost.com',
    'port'          => 993,
    'encryption'    => 'ssl',
    'validate_cert' => true,
    'username'      => 'username',
    'password'      => 'password',
    'protocol'      => 'imap'
]);

Best regards & happy coding,

ssekimuli commented 1 year ago

i want to config two emails accounts at once . let say i have outlook and gmail and i want them to under on folder

Webklex commented 1 year ago

I see, unfortunately that's not possible - or at least not that I know of. The folders e.g. "INBOX" are located on two different servers which don't know of each other and have nothing in common besides their name. If you want to fetch both, you'll have to connect to both and do what ever you like to do to each folder individually :)

Best regards & happy coding,

Webklex commented 1 year ago

P.s.: there is something called "shared inbox" but it has nothing to do with this library and I doubt you could create a shared inbox across providers but you never know :) Google or DuckDuckGo can probably tell you more about this topic.

ssekimuli commented 1 year ago

getSharedMailbox() do you have this function

so that is connect

sharedMailbox = $client->getSharedMailbox('sharedinbox');

Webklex commented 1 year ago

Hi @ssekimuli , thanks for the followup. No, such a function doesn't exists - at least not one with this name. What are you expecting this method to do? Perhaps a similar function does exist. Like $client->getFolder("someName") ?

Please try to provide a bit more context, code or examples. Tell the world what you are up to :)

Best regards & happy coding,