freescout icon indicating copy to clipboard operation
freescout copied to clipboard

Read incoming forwarded emails as new ticket from original sender

Open pocketfulofrage opened this issue 5 years ago • 5 comments

I would love to see FreeScout able to parse through a forwarded email and grab the OP's message as the ticket.

Let's say Joe Smith sends an email to my personal email address that I'd like to make a ticket. I should be able to forward that message to my FreeScout mailbox, which would generate a new ticket from Joe Smith with his original email body. (In other words, FreeScout should ignore the "forward" part of an incoming ticket)

pocketfulofrage avatar Jul 16 '19 03:07 pocketfulofrage

Maybe it will be implemented in the future. For now you can use "New Conversation" feature, which will create a new conversation from forwaded email:

2019-07-16_09-27-02

freescout-helpdesk avatar Jul 16 '19 06:07 freescout-helpdesk

@pocketfulofrage here's a workaround I just discovered. I created a folder called "Tickets" in my email account, and then setup Freescout to only check the Tickets folder. When it reads the new email, it creates the support request from the original sender.

I've only tried this with Gmail, and I found that the email has to be marked as unread in order to work.

webprogrammingsolutions avatar Mar 31 '20 03:03 webprogrammingsolutions

Any updates on this topic? Forwarding mails from customers would be the one feature we are missing right now. Thanks!

Lucleonhart avatar Mar 31 '22 07:03 Lucleonhart

I wonder how much is involved in a minimal "first attempt" at this feature?

  • Notice that the incoming email address belongs to a support agent, and that the subject has a "Fwd:" prefix (any other prefixes?).
  • If so, then read the message to look for the real sender; set the customer to that address instead

Anything else?

I'm not saying I have resources to look at this currently, just trying to understand the issue (I would like to see it implemented - I just forwarded a ticket into Freescout and learned then that that feature isn't there.

DavidAnderson684 avatar Apr 04 '22 21:04 DavidAnderson684

Hello,

is this feature in the roadmap for the future development?

We are looking for a solution to forward clients' communication that is currently being sent to different individual emails into one platform; with the key feature being automatically assigning forwarded email to the customer (original sender). I have tried using "New conversation" feature but either I am not using it correctly or it doesn't do that.

Would be potentially happy to sponsor the development of this.

Thanks.

avidras avatar Jul 13 '22 12:07 avidras

@avidras thank you, to sponsor development of this feature, please see https://github.com/freescout-helpdesk/freescout/wiki/Hire-Developer

fulldecent avatar Nov 07 '22 16:11 fulldecent

Implemented in the master branch.

Forwarded email should contain "F:", "Fw:" or "Fwd:" in the subject and must contain forwarded email info in the body, for example:

---------- Forwarded message ---------
From: <[email protected]>
Date: Tue, Dec 15, 2022 at 1:17 AM
Subject: Test
To: <[email protected]>

freescout-helpdesk avatar Dec 20 '22 07:12 freescout-helpdesk

Fantastic! Will check it as soon as the release is available. Could you make the $fwd_prefixes configurable? For us germans here the automatic subject adds "WG:" so that would be great to have it as an custom text field.

Lucleonhart avatar Dec 20 '22 07:12 Lucleonhart

Or, if thats too much work, can you add ‚WG‘ to the list by default to make all germans happy? ;)

Lucleonhart avatar Dec 20 '22 11:12 Lucleonhart

Nice :) And add "De" for french :D

elyazalee avatar Dec 20 '22 15:12 elyazalee

Have you ever received emails with these prefixes: "WG: " and "De: "?

freescout-helpdesk avatar Dec 20 '22 16:12 freescout-helpdesk

Yes

elyazalee avatar Dec 20 '22 16:12 elyazalee

Daily. As i said each mail forwarded using a mail tool in german will add WG: to the fron like you have FW:

Lucleonhart avatar Dec 20 '22 17:12 Lucleonhart

Hello,

Thanks for adding Fwd in French & German, but there is a problem with this feature:

bug

elyazalee avatar Dec 30 '22 12:12 elyazalee

Hi,

Bug with last update (1.8.46) :

<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>De :</b> Fabien Sauvage <[email protected]><br>
<b>Envoyé :</b> mardi 3 janvier 2023 12:04<br>
<b>À :</b> Loïc <[email protected]><br>
<b>Objet :</b> Meilleurs vœux 2023</font>

bug2

elyazalee avatar Jan 03 '23 13:01 elyazalee

Hello,

@freescout-helpdesk Is it necessary to open a new thread?

elyazalee avatar Jan 04 '23 12:01 elyazalee

Other example :

<div class="elementToProof"><span style="font-family: Arial, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"><br>
</span></div>
<div style="font-family: Arial, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div id="appendonsend"></div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>De :</b> cedric xxxxxxx <cedsteph35@xxxxxxxx><br>
<b>Envoyé :</b> mardi 3 janvier 2023 22:14<br>
<b>À :</b> Loïc <[email protected]><br>
<b>Objet :</b> Re: Le paiement de €133,20 est en attente pour INV-002548</font>
<div> </div>

bug3

elyazalee avatar Jan 04 '23 12:01 elyazalee

I'm running a version of Freescout including this feature, but it just doesn't work for me. I've tried various methods of forwarding from Thunderbird. The subject has Fwd:, the mail is in plain-text only (also tried HTML), and has forwarded email info - but it always gets detected as if it were from me, not from the actual customer.

DavidAnderson684 avatar Mar 01 '23 16:03 DavidAnderson684

I'm running a version of Freescout including this feature, but it just doesn't work for me. I've tried various methods of forwarding from Thunderbird. The subject has Fwd:, the mail is in plain-text only (also tried HTML), and has forwarded email info - but it always gets detected as if it were from me, not from the actual customer.

Sender's email is the same as user's email in FreeScout? The email has just one recipient?

https://github.com/freescout-helpdesk/freescout/wiki/FAQ#is-it-possible-to-forward-customers-email-to-freescout-and-make-it-look-like-it-came-from-this-customer

freescout-helpdesk avatar Mar 01 '23 17:03 freescout-helpdesk

Yes, and yes. I tried both my account email address and my alternative address as the sender. I also tried sending from Alpine instead of Thunderbird (and adjusted the subject in Alpine to put the Fwd: at the front, since Alpine's default is instead to append (Fwd)), and that didn't work either.

DavidAnderson684 avatar Mar 01 '23 17:03 DavidAnderson684

For what it's worth - the default forwarded messages (no alterations necessary) from both clients are accepted by Helpscout.

DavidAnderson684 avatar Mar 01 '23 17:03 DavidAnderson684

We've changed this behavior in the master branch. Now the customer in the forwarded email will be substituted only if there is "@fwd" text added in the beginning of the email.

freescout-helpdesk avatar Mar 15 '23 06:03 freescout-helpdesk

This still isn't working for me (Freescout 1.8.70, all modules up to date including Email Commands 1.0.6).... I've forwarded a mail with @fwd, and the address Freescout uses for the mail is mine (one of those listed in "Alternate Emails" in my profile), and not the first email found in the body.

In this case it's an HTML mail.

Here's the body, as shown in Freescout when requesting the original message:

    <p>@fwd<br>
    </p>
    <div class="moz-forward-container"><br>
      <br>
      -------- Message transféré --------
      <table class="moz-email-headers-table" cellspacing="0" cellpadding="0" border="0">
        <tbody>
          <tr>
            <th valign="BASELINE" nowrap align="RIGHT">Sujet :
            </th>
            <td>Example Support Topic</td>
          </tr>
          <tr>
            <th valign="BASELINE" nowrap align="RIGHT">Date : </th>
            <td>Thu, 6 Apr 2023 15:47:08 +0100</td>
          </tr>
          <tr>
            <th valign="BASELINE" nowrap align="RIGHT">De : </th>
            <td>Ronald McDonald <a class="moz-txt-link-rfc2396E" href="mailto:[email protected]"><[email protected]></a></td>
          </tr>
        </tbody>
      </table>
      <br>
      <br>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      Hi David,
      <div class=""><br class="">
      </div>
      <div class="">(Snipped message - contained no email addresses)
      <div class=""><br class="">
      </div>
      <div class="">Thanks.<br class="">
        <div class="">
          <div dir="auto" style="caret-color: rgb(0, 0, 0); color:
            rgb(0, 0, 0); letter-spacing: normal; text-align: start;
            text-indent: 0px; text-transform: none; white-space: normal;
            word-spacing: 0px; -webkit-text-stroke-width: 0px;
            text-decoration: none; word-wrap: break-word;
            -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
            <div dir="auto" style="caret-color: rgb(0, 0, 0); color:
              rgb(0, 0, 0); letter-spacing: normal; text-align: start;
              text-indent: 0px; text-transform: none; white-space:
              normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;
              text-decoration: none; word-wrap: break-word;
              -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
              <div dir="auto" style="caret-color: rgb(0, 0, 0); color:
                rgb(0, 0, 0); letter-spacing: normal; text-align: start;
                text-indent: 0px; text-transform: none; white-space:
                normal; word-spacing: 0px; -webkit-text-stroke-width:
                0px; text-decoration: none; word-wrap: break-word;
                -webkit-nbsp-mode: space; line-break:
                after-white-space;" class="">
                <div dir="auto" style="caret-color: rgb(0, 0, 0); color:
                  rgb(0, 0, 0); letter-spacing: normal; text-align:
                  start; text-indent: 0px; text-transform: none;
                  white-space: normal; word-spacing: 0px;
                  -webkit-text-stroke-width: 0px; text-decoration: none;
                  word-wrap: break-word; -webkit-nbsp-mode: space;
                  line-break: after-white-space;" class="">
                  <div dir="auto" style="caret-color: rgb(0, 0, 0);
                    color: rgb(0, 0, 0); letter-spacing: normal;
                    text-align: start; text-indent: 0px; text-transform:
                    none; white-space: normal; word-spacing: 0px;
                    -webkit-text-stroke-width: 0px; text-decoration:
                    none; word-wrap: break-word; -webkit-nbsp-mode:
                    space; line-break: after-white-space;" class="">
                    <div dir="auto" style="caret-color: rgb(0, 0, 0);
                      color: rgb(0, 0, 0); letter-spacing: normal;
                      text-align: start; text-indent: 0px;
                      text-transform: none; white-space: normal;
                      word-spacing: 0px; -webkit-text-stroke-width: 0px;
                      text-decoration: none; word-wrap: break-word;
                      -webkit-nbsp-mode: space; line-break:
                      after-white-space;" class="">
                      <div dir="auto" style="caret-color: rgb(0, 0, 0);
                        color: rgb(0, 0, 0); letter-spacing: normal;
                        text-align: start; text-indent: 0px;
                        text-transform: none; white-space: normal;
                        word-spacing: 0px; -webkit-text-stroke-width:
                        0px; text-decoration: none; word-wrap:
                        break-word; -webkit-nbsp-mode: space;
                        line-break: after-white-space;" class="">
                        <div dir="auto" style="caret-color: rgb(0, 0,
                          0); color: rgb(0, 0, 0); letter-spacing:
                          normal; text-align: start; text-indent: 0px;
                          text-transform: none; white-space: normal;
                          word-spacing: 0px; -webkit-text-stroke-width:
                          0px; text-decoration: none; word-wrap:
                          break-word; -webkit-nbsp-mode: space;
                          line-break: after-white-space;" class="">
                          <div dir="auto" style="caret-color: rgb(0, 0,
                            0); color: rgb(0, 0, 0); letter-spacing:
                            normal; text-align: start; text-indent: 0px;
                            text-transform: none; white-space: normal;
                            word-spacing: 0px;
                            -webkit-text-stroke-width: 0px;
                            text-decoration: none; word-wrap:
                            break-word; -webkit-nbsp-mode: space;
                            line-break: after-white-space;" class="">
                            <div dir="auto" style="caret-color: rgb(0,
                              0, 0); color: rgb(0, 0, 0);
                              letter-spacing: normal; text-align: start;
                              text-indent: 0px; text-transform: none;
                              white-space: normal; word-spacing: 0px;
                              -webkit-text-stroke-width: 0px;
                              text-decoration: none; word-wrap:
                              break-word; -webkit-nbsp-mode: space;
                              line-break: after-white-space;" class="">
                              <div dir="auto" style="caret-color: rgb(0,
                                0, 0); color: rgb(0, 0, 0);
                                letter-spacing: normal; text-align:
                                start; text-indent: 0px; text-transform:
                                none; white-space: normal; word-spacing:
                                0px; -webkit-text-stroke-width: 0px;
                                text-decoration: none; word-wrap:
                                break-word; -webkit-nbsp-mode: space;
                                line-break: after-white-space;" class="">
                                <div dir="auto" style="caret-color:
                                  rgb(0, 0, 0); color: rgb(0, 0, 0);
                                  letter-spacing: normal; text-align:
                                  start; text-indent: 0px;
                                  text-transform: none; white-space:
                                  normal; word-spacing: 0px;
                                  -webkit-text-stroke-width: 0px;
                                  text-decoration: none; word-wrap:
                                  break-word; -webkit-nbsp-mode: space;
                                  line-break: after-white-space;" class="">
                                  <div dir="auto" style="caret-color:
                                    rgb(0, 0, 0); color: rgb(0, 0, 0);
                                    letter-spacing: normal; text-align:
                                    start; text-indent: 0px;
                                    text-transform: none; white-space:
                                    normal; word-spacing: 0px;
                                    -webkit-text-stroke-width: 0px;
                                    text-decoration: none; word-wrap:
                                    break-word; -webkit-nbsp-mode:
                                    space; line-break:
                                    after-white-space;" class="">
                                    <div><br class="">
                                      Kind regards,<br class="">
                                      <br class="">
                                      Ron<br class="">
                                      <br class="">
                                      --------------------------------</div>
                                    <div><br class="">
                                    </div>
                                    <div>ADVANCED NOTICE </div>
                                    <div>I will be away from my office
                                      between<span class="Apple-converted-space"> </span><b class="">10  – 14 April 2023</b>.
                                      Thanks.</div>
                                    <div><br class="">
                                    </div>
                                    <div>--------------------------------------------<br class="">
                                      Ronald McDonald<br class="">
                                      Freelance Designer & Developer<br class="">
--------------------------------------------<br class="">
                                      <a href="http://example.com" class="" moz-do-not-send="true">example.com</a><br class="">
                                      <a class="moz-txt-link-abbreviated" href="mailto:[email protected]">[email protected]</a><br class="">
                                      +44 (0)1234 567890<br class="">
                                      <br class="">
                                      <br class="">
                                      <br class="">
                                      EMAIL CONFIDENTIALITY NOTICE<br class="">
                                      This message is private
                                      and confidential. If you have
                                      received this message in error,
                                      please notify me and remove it
                                      from your system.</div>
                                  </div>
                                </div>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
        <br class="">
      </div>
    </div>
    <pre class="moz-signature" cols="72">

DavidAnderson684 avatar Apr 06 '23 15:04 DavidAnderson684

Just want to add it's also not working for me either. Doesn't matter if I have @fwd or not.

avenjamin avatar Apr 10 '23 09:04 avenjamin

Debug this: https://github.com/freescout-helpdesk/freescout/blob/dist/app/Console/Commands/FetchEmails.php#L614

You can use \Log::error('some info'); to write messages to Manage > Logs > App Logs

freescout-helpdesk avatar Apr 10 '23 10:04 freescout-helpdesk

So did a few tests and so far plain text emails seem to be ok, but an HTML email didn't pick up the original_sender so I'm thinking the getOriginalSenderFromFwd() function needs tweaking.

Will do more testing.

@DavidAnderson684 are you able to see if a plain text email forward works for you vs an HTML email?

avenjamin avatar Apr 13 '23 05:04 avenjamin

@freescout-helpdesk can we have this issue re-opened while we investigate further

avenjamin avatar Apr 13 '23 05:04 avenjamin

You can share here the HTML part of the email where customer's email is mentioned.

freescout-helpdesk avatar Apr 13 '23 05:04 freescout-helpdesk

@freescout-helpdesk commit a94f97e appears to have fixed the issue for me now. I'm happy for this to be closed for now until it rears it's head again 😝

avenjamin avatar Apr 20 '23 08:04 avenjamin

Hi @freescout-helpdesk - I am running version 1.8.120 and the @fwd command does not work in my setup. Looking at the Email Commands module, this command isn't listed there - do I have to have this module installed? Neither plain text or HTML emails with the command in the message work. FS displays my name as the sender (Customer) instead of that of the original. @avenjamin does yours work now?

CHS-tech avatar Feb 13 '24 13:02 CHS-tech