uvdesk / mailbox-component

The Mailbox component provides tools that allows your helpdesk to process tickets from multiple email sources.
MIT License
22 stars 38 forks source link

Requests emailed to email alias are not processed by email component #85

Closed cney-afluens closed 1 year ago

cney-afluens commented 2 years ago

Description

Have uvdesk load tickets that are sent to email alias of imap mailbox. ( ex: email sent to my-alias@example.com instead of my-mail@example.com )

Configure an email alias of your imap email mailbox. Send an email to this alias , it will not be loaded as ticket.

Here is the code to make this possible

--- a/Services/MailboxService.php +++ b/Services/MailboxService.php @@ -285,7 +285,11 @@ class MailboxService if (empty($addresses['from'])) { return; } else {

vipin-shrivastava commented 2 years ago

@cney-afluens

Can you please tell us more about this?

silviuchingaru commented 2 years ago

The problem still exists in the latest version, 1.1 and dev.

Failing scenario: You configure in cPanel, ISPconfig or any other hosting panel an email forwarder. For example you can configure an email forwarder for:

The email address suport@example.org in fact does not exists (does not have an user and password) so Uvdesk cannot connect to it and fetch emails. But if you add to the forwarder an email that is connected to Uvdesk, for example uvd-suport@example.org, Uvdesk will not create tickets from emails sent to support@example.org, warranty@example.org, sales@example.org, accountancy@example.org or any other alias of support forwarder even if the uvdesk:refresh-mailbox sees email messages, it will create tickets only for emails sent to uvd-suport@example.org because when Uvdesk checks if an mailbox with an alias (forwarded) address (suport, warranty, sales, accountancy, etc.) exists, of corse it does not existsts and will return without creating tickets from those emails. Also you may have another forwarders for warranty@example.org, sales@example.org, accountancy@example.org, etc. that forwards emails also to support@example.org because you may not want to create all this "alias" emails which would actually be answered by the same support team and you will not want to add every support team's email to each forward list when they are the same.

The proposed solution: Uvdesk should creates tickets from any email message received in it's mailbox, excluding itself, of corse, or auto replies, etc like is doing now. Skipping ticket creation for emails that are not sent to mailbox address doesn't make sense, anyway. Maybe for security reasons but those could be enhached with tokens or something like that not with check if email was sent to Uvdesk mailbox address. I don't see any benefits of this behaviour actually.

The benefits of using Uvdesk with email forwarders or mailboxes that are fetching emails from another mailboxes (creating tickets regardles of email addres that the message was sent) could be:

I mention that a lot of servers supports fetching emails from another address that will have to address of the original mailbox not the fetching one, even Gmail supports this and probably Yahoo, and for those fetched emails, Uvdesk will not work also because message to address is different than mailbox address.

Also a lot of support teams that are working with emails, are using this technique of self replies (headers in Outlook, Thunderbird webmail, etc. like TO: customer@example.net, (B)CC support@example.org and Reply-to: support@example.org) to let other members know that that email was answered.

I'm already working on a patch to implement this feature and hope I'll do a pull request soon.

komal-sh-27 commented 1 year ago

Thank you for your suggestions. We have added this new feature in the latest release v-1.1.3.

For now we are closing this issue. If you are facing any issue then reply in the same thread.