function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
ApLinksApLinks 

email-to-case question

Recently, I setup email-to-case and I think it is just about configured correctly except for one issue I am having.

When the agent polls the IMAP server to retrieve email messages it appears that they are not being marked as "read". Because of this every time the agent polls the server (every 10 minutes) the same emails keep getting pulled and sent to SF creating duplicate case of the same emails.

Question: how does the agent mark the messages so this does not occur? I thought it had to do with the testProcessing folder but I am not exactly sure how this part is suppose to function.

Any help is greatly appreciated. Thanks much.

Paul
DevAngelDevAngel
Try moving the "read" or processed messages to another folder.
ApLinksApLinks
Hello Dave, I am not sure I understand. I have been working with Nia on this for a few weeks and I guess I still don't understand how it is suppose to work.

We have a mailbox that is not going to be used by anyone. Emails will be sent to that mailbox from a webpage. All correspondance will be conducted from within SF Cases. So everytime mail gets sent to this mailbox, I will have to move them to another folder so they are not sent again? I was assuming that SF marks the mail as read after the agents polls the server? No?

Thanks much for your help.

Paul
DevAngelDevAngel
The agent is the key here. It is running outside of sfdc and accessing your IMAP mailbox independently to look for emails to create cases from. The agent needs to only look for unread emails and then mark the email as read once it has been successfully processed, or move the processed email to a different folder (which might be difficult using IMAP versus POP).
ApLinksApLinks
Dave, thanks again for the response.

Although, again, I must be missing something. The agent only works with IMAP per the readme.txt file. So i guess the question is, does this email-to-case work or not? It appears that no one really knows anything about this product because the responses are someone amature in nature.

I will tell my customer that they will need to use a different product because Sales Force is too busy talking about the success of their website but aren't putting too much effort into support.

Thanks again

Paul
ChrisS_SFDCChrisS_SFDC
Hi ApLinks,
 
The agent deals with three Folders on the IMAP server.  It reads incoming mail from an "inbox" folder.  The agent copies messages that have been processed succesfully from the "inbox" folder to the "processed" folder.  Any messages that could not be processed correctly(the message contained corrupt headers for instance) are sent instead to an "errors" folder.
 
The processing happens as follows:
  • The agent polls the mail server and retrieves pointers to all unread messages in the InBox folder.  Many mail servers mark the messages as read at this point.
  • The agent loops through the messges, processing them in batches of 5 at a time.
  • For each batch of 5, It contacts the SFDC service and attempts to create or updates cases.  Based on the results it either copies the messages to the Processed folder or to the Error Folder.  If 3 messages were processed successfully, and 2 ere not, only those that were in error are sent to the error folder.
  • During this process the agent also marks the messages in the InBox with a flag for Delete - to arrive at an end result of moving the message from the inbox to either the processed or error folders.

The names of these folders are configured in the email2case.txt configuration file as described in the readme.  Here is an example:

        <inbox>testInbox</inbox>
        <readbox>testProcessing</readbox>
        <errorbox>testError</errorbox>

It is important that the names of these folders are distinct from one another.

I hope this clears up some of the confusion...

Chris

GortGort
I have my processed and error folders set up, but am getting an error when starting the .exe saying my processed folder is not valid.  Here is the specific error I am getting:
 
[Thread-1] ERROR com.sforce.mail.GenericClient  - com.sforce.exception.InvalidConfigurationException: The processed folder provided is not valid.
   cases
 
where 'cases' is the name of my processed folder. 
 
Why would I be getting this error?  It appears to connect to the mail server and register the Inbox, why not the processed folder? 
Thanks.
 
 
 
The full error log is here:
2006-04-17 11:26:54,393 0    [main] INFO  com.sforce.SalesforceAgent  - Starting EmailToCase Agent v1.05.02
2006-04-17 11:26:54,393 0    [main] INFO  com.sforce.SalesforceAgent  - ============================================================================
2006-04-17 11:26:54,393 0    [main] INFO  com.sforce.SalesforceAgent  -              J A V A    S Y S T E M   P R O P E R T I E S
2006-04-17 11:26:54,393 0    [main] INFO  com.sforce.SalesforceAgent  - ============================================================================
2006-04-17 11:26:54,393 0    [main] INFO  com.sforce.SalesforceAgent  - java.runtime.name= Java(TM) 2 Runtime Environment, Standard Edition
2006-04-17 11:26:54,393 0    [main] INFO  com.sforce.SalesforceAgent  - sun.boot.library.path= C:\Program Files\Java\j2re1.4.2_11\bin
2006-04-17 11:26:54,393 0    [main] INFO  com.sforce.SalesforceAgent  - java.vm.version= 1.4.2_11-b06
2006-04-17 11:26:54,408 15   [main] INFO  com.sforce.SalesforceAgent  - java.vm.vendor= Sun Microsystems Inc.
2006-04-17 11:26:54,408 15   [main] INFO  com.sforce.SalesforceAgent  - java.vendor.url= http://java.sun.com/
2006-04-17 11:26:54,408 15   [main] INFO  com.sforce.SalesforceAgent  - path.separator= ;
2006-04-17 11:26:54,408 15   [main] INFO  com.sforce.SalesforceAgent  - java.vm.name= Java HotSpot(TM) Client VM
2006-04-17 11:26:54,408 15   [main] INFO  com.sforce.SalesforceAgent  - file.encoding.pkg= sun.io
2006-04-17 11:26:54,408 15   [main] INFO  com.sforce.SalesforceAgent  - user.country= US
2006-04-17 11:26:54,408 15   [main] INFO  com.sforce.SalesforceAgent  - sun.os.patch.level= Service Pack 1
2006-04-17 11:26:54,408 15   [main] INFO  com.sforce.SalesforceAgent  - java.vm.specification.name= Java Virtual Machine Specification
2006-04-17 11:26:54,408 15   [main] INFO  com.sforce.SalesforceAgent  - user.dir= C:\EmailToCase\EmailAgent60
2006-04-17 11:26:54,408 15   [main] INFO  com.sforce.SalesforceAgent  - java.runtime.version= 1.4.2_11-b06
2006-04-17 11:26:54,408 15   [main] INFO  com.sforce.SalesforceAgent  - java.awt.graphicsenv= sun.awt.Win32GraphicsEnvironment
2006-04-17 11:26:54,424 31   [main] INFO  com.sforce.SalesforceAgent  - java.endorsed.dirs= C:\Program Files\Java\j2re1.4.2_11\lib\endorsed
2006-04-17 11:26:54,424 31   [main] INFO  com.sforce.SalesforceAgent  - os.arch= x86
2006-04-17 11:26:54,424 31   [main] INFO  com.sforce.SalesforceAgent  - java.io.tmpdir= C:\DOCUME~1\bgorter\LOCALS~1\Temp\4\
2006-04-17 11:26:54,424 31   [main] INFO  com.sforce.SalesforceAgent  - line.separator=
2006-04-17 11:26:54,424 31   [main] INFO  com.sforce.SalesforceAgent  - java.vm.specification.vendor= Sun Microsystems Inc.
2006-04-17 11:26:54,424 31   [main] INFO  com.sforce.SalesforceAgent  - user.variant=
2006-04-17 11:26:54,424 31   [main] INFO  com.sforce.SalesforceAgent  - os.name= Windows 2003
2006-04-17 11:26:54,424 31   [main] INFO  com.sforce.SalesforceAgent  - sun.java2d.fontpath=
2006-04-17 11:26:54,424 31   [main] INFO  com.sforce.SalesforceAgent  - java.library.path= C:\WINDOWS\system32;.;C:\WINDOWS\system32;C:\Documents and Settings\bgorter\WINDOWS;E:\Program Files\Windows Resource Kits\Tools\;C:\Program Files\Support Tools\;C:\WINDOWS\system32;c:\windows\system32;C:\WINDOWS;C:\WINDOWS\system32\wbem;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;C:\Program Files\Microsoft Commerce Server 2002\;C:\Program Files\Common Files\Microsoft Shared\Enterprise Servers\Commerce\;e:\utils;";c:\program files\intel\servermanagement\bin";""
2006-04-17 11:26:54,440 47   [main] INFO  com.sforce.SalesforceAgent  - java.specification.name= Java Platform API Specification
2006-04-17 11:26:54,440 47   [main] INFO  com.sforce.SalesforceAgent  - java.class.version= 48.0
2006-04-17 11:26:54,440 47   [main] INFO  com.sforce.SalesforceAgent  - java.util.prefs.PreferencesFactory= java.util.prefs.WindowsPreferencesFactory
2006-04-17 11:26:54,440 47   [main] INFO  com.sforce.SalesforceAgent  - os.version= 5.2
2006-04-17 11:26:54,440 47   [main] INFO  com.sforce.SalesforceAgent  - user.home= \\Ngn.local\Shared\Profiles\bgorter
2006-04-17 11:26:54,440 47   [main] INFO  com.sforce.SalesforceAgent  - user.timezone= America/Chicago
2006-04-17 11:26:54,440 47   [main] INFO  com.sforce.SalesforceAgent  - java.awt.printerjob= sun.awt.windows.WPrinterJob
2006-04-17 11:26:54,440 47   [main] INFO  com.sforce.SalesforceAgent  - file.encoding= Cp1252
2006-04-17 11:26:54,440 47   [main] INFO  com.sforce.SalesforceAgent  - java.specification.version= 1.4
2006-04-17 11:26:54,440 47   [main] INFO  com.sforce.SalesforceAgent  - java.class.path= Email2Case.jar
2006-04-17 11:26:54,455 62   [main] INFO  com.sforce.SalesforceAgent  - user.name= bgorter
2006-04-17 11:26:54,455 62   [main] INFO  com.sforce.SalesforceAgent  - java.vm.specification.version= 1.0
2006-04-17 11:26:54,455 62   [main] INFO  com.sforce.SalesforceAgent  - java.home= C:\Program Files\Java\j2re1.4.2_11
2006-04-17 11:26:54,455 62   [main] INFO  com.sforce.SalesforceAgent  - sun.arch.data.model= 32
2006-04-17 11:26:54,455 62   [main] INFO  com.sforce.SalesforceAgent  - user.language= en
2006-04-17 11:26:54,455 62   [main] INFO  com.sforce.SalesforceAgent  - java.specification.vendor= Sun Microsystems Inc.
2006-04-17 11:26:54,455 62   [main] INFO  com.sforce.SalesforceAgent  - awt.toolkit= sun.awt.windows.WToolkit
2006-04-17 11:26:54,455 62   [main] INFO  com.sforce.SalesforceAgent  - java.vm.info= mixed mode
2006-04-17 11:26:54,455 62   [main] INFO  com.sforce.SalesforceAgent  - java.version= 1.4.2_11
2006-04-17 11:26:54,455 62   [main] INFO  com.sforce.SalesforceAgent  - java.ext.dirs= C:\Program Files\Java\j2re1.4.2_11\lib\ext
2006-04-17 11:26:54,455 62   [main] INFO  com.sforce.SalesforceAgent  - sun.boot.class.path= C:\Program Files\Java\j2re1.4.2_11\lib\rt.jar;C:\Program Files\Java\j2re1.4.2_11\lib\i18n.jar;C:\Program Files\Java\j2re1.4.2_11\lib\sunrsasign.jar;C:\Program Files\Java\j2re1.4.2_11\lib\jsse.jar;C:\Program Files\Java\j2re1.4.2_11\lib\jce.jar;C:\Program Files\Java\j2re1.4.2_11\lib\charsets.jar;C:\Program Files\Java\j2re1.4.2_11\classes
2006-04-17 11:26:54,471 78   [main] INFO  com.sforce.SalesforceAgent  - java.vendor= Sun Microsystems Inc.
2006-04-17 11:26:54,471 78   [main] INFO  com.sforce.SalesforceAgent  - file.separator= \
2006-04-17 11:26:54,471 78   [main] INFO  com.sforce.SalesforceAgent  - java.vendor.url.bug= http://java.sun.com/cgi-bin/bugreport.cgi
2006-04-17 11:26:54,471 78   [main] INFO  com.sforce.SalesforceAgent  - sun.io.unicode.encoding= UnicodeLittle
2006-04-17 11:26:54,471 78   [main] INFO  com.sforce.SalesforceAgent  - sun.cpu.endian= little
2006-04-17 11:26:54,471 78   [main] INFO  com.sforce.SalesforceAgent  - sun.cpu.isalist= pentium i486 i386
2006-04-17 11:26:54,471 78   [main] INFO  com.sforce.SalesforceAgent  - ============================================================================
2006-04-17 11:26:54,471 78   [main] INFO  com.sforce.SalesforceAgent  - Parsing config file: sfdcConfig.txt
2006-04-17 11:26:54,799 406  [main] INFO  com.sforce.SalesforceAgent  - Config successfully parsed
2006-04-17 11:26:54,799 406  [main] INFO  com.sforce.config.ConfigInfo  - ============================================================================
2006-04-17 11:26:54,799 406  [main] INFO  com.sforce.config.ConfigInfo  -             C O N F I G U R A T I O N   P R O P E R T I E S
2006-04-17 11:26:54,815 422  [main] INFO  com.sforce.config.ConfigInfo  - ============================================================================
2006-04-17 11:26:54,815 422  [main] INFO  com.sforce.config.ConfigInfo  - file: sfdcConfig.txt
2006-04-17 11:26:54,815 422  [main] INFO  com.sforce.config.ConfigInfo  - sfdcLogin:password:********
2006-04-17 11:26:54,815 422  [main] INFO  com.sforce.config.ConfigInfo  - sfdcLogin:userName:support@ngn.com
2006-04-17 11:26:54,815 422  [main] INFO  com.sforce.config.ConfigInfo  - sfdcLogin:timeout:2
2006-04-17 11:26:54,815 422  [main] INFO  com.sforce.config.ConfigInfo  - sfdcLogin:loginRefresh:30
2006-04-17 11:26:54,815 422  [main] INFO  com.sforce.config.ConfigInfo  - sfdcLogin:url:https://www.salesforce.com/services/Soap/u/6.0
2006-04-17 11:26:54,815 422  [main] INFO  com.sforce.config.ConfigInfo  - services:com.sforce.mail.EmailService:C:\\EmailToCase\EmailAgent60\\email2case.txt
2006-04-17 11:26:54,815 422  [main] INFO  com.sforce.config.ConfigInfo  - notify:password:********
2006-04-17 11:26:54,815 422  [main] INFO  com.sforce.config.ConfigInfo  - notify:service:com.sforce.mail.SMTPNotification
2006-04-17 11:26:54,830 437  [main] INFO  com.sforce.config.ConfigInfo  - notify:user:golfintelligence
2006-04-17 11:26:54,830 437  [main] INFO  com.sforce.config.ConfigInfo  - notify:notifyEmail:gorters@yahoo.com
2006-04-17 11:26:54,830 437  [main] INFO  com.sforce.config.ConfigInfo  - notify:host:smtp.runbox.com
2006-04-17 11:26:54,830 437  [main] INFO  com.sforce.config.ConfigInfo  - notify:from:golfintelligence@runbox.com
2006-04-17 11:26:54,830 437  [main] INFO  com.sforce.config.ConfigInfo  - notify:port:25
2006-04-17 11:26:54,830 437  [main] INFO  com.sforce.config.ConfigInfo  - ============================================================================
2006-04-17 11:26:54,830 437  [main] INFO  com.sforce.SalesforceAgent  - Loading configuration file sfdcConfig.txt
2006-04-17 11:26:54,830 437  [main] INFO  com.sforce.SalesforceAgent  - Parsing config file: C:\\EmailToCase\EmailAgent60\\email2case.txt
2006-04-17 11:26:54,846 453  [main] INFO  com.sforce.SalesforceAgent  - Config successfully parsed
2006-04-17 11:26:54,846 453  [main] INFO  com.sforce.config.ConfigInfo  - ============================================================================
2006-04-17 11:26:54,846 453  [main] INFO  com.sforce.config.ConfigInfo  -             C O N F I G U R A T I O N   P R O P E R T I E S
2006-04-17 11:26:54,861 468  [main] INFO  com.sforce.config.ConfigInfo  - ============================================================================
2006-04-17 11:26:54,861 468  [main] INFO  com.sforce.config.ConfigInfo  - file: C:\\EmailToCase\EmailAgent60\\email2case.txt
2006-04-17 11:26:54,861 468  [main] INFO  com.sforce.config.ConfigInfo  - server1:password:********
2006-04-17 11:26:54,861 468  [main] INFO  com.sforce.config.ConfigInfo  - server1:userName:golfintelligence
2006-04-17 11:26:54,861 468  [main] INFO  com.sforce.config.ConfigInfo  - server1:protocol:imap
2006-04-17 11:26:54,861 468  [main] INFO  com.sforce.config.ConfigInfo  - server1:errorbox:errors
2006-04-17 11:26:54,861 468  [main] INFO  com.sforce.config.ConfigInfo  - server1:readbox:cases
2006-04-17 11:26:54,861 468  [main] INFO  com.sforce.config.ConfigInfo  - server1:inbox:INBOX
2006-04-17 11:26:54,861 468  [main] INFO  com.sforce.config.ConfigInfo  - server1:url:imap.runbox.com
2006-04-17 11:26:54,861 468  [main] INFO  com.sforce.config.ConfigInfo  - server1:port:143
2006-04-17 11:26:54,861 468  [main] INFO  com.sforce.config.ConfigInfo  - server1:interval:10
2006-04-17 11:26:54,861 468  [main] INFO  com.sforce.config.ConfigInfo  - ============================================================================
2006-04-17 11:26:54,877 484  [main] INFO  com.sforce.SalesforceAgent  - Attempting to start service com.sforce.mail.EmailService with configuration file C:\\EmailToCase\EmailAgent60\\email2case.txt
2006-04-17 11:26:57,486 3093 [main] INFO  com.sforce.mail.GenericClient  - LoginURL: https://www.salesforce.com/services/Soap/u/6.0
2006-04-17 11:26:57,486 3093 [main] INFO  com.sforce.mail.GenericClient  - Agent will connect to: https://na1-api.salesforce.com/services/Soap/u/6.0
2006-04-17 11:26:57,502 3109 [main] INFO  com.sforce.mail.EmailService  - Scheduling poll process against imap.runbox.com
2006-04-17 11:26:57,502 3109 [main] INFO  com.sforce.mail.EmailService  -    Port    : 143
2006-04-17 11:26:57,502 3109 [main] INFO  com.sforce.mail.EmailService  -    UserID  : golfintelligence
2006-04-17 11:26:57,502 3109 [main] INFO  com.sforce.mail.EmailService  -    Password:
2006-04-17 11:26:57,502 3109 [main] INFO  com.sforce.mail.EmailService  -    Interval: 10 minute(s)
2006-04-17 11:26:57,502 3109 [main] INFO  com.sforce.mail.EmailService  -    InBox   : INBOX
2006-04-17 11:26:57,502 3109 [main] INFO  com.sforce.mail.EmailService  -    ReadBox : cases
2006-04-17 11:26:57,518 3125 [main] INFO  com.sforce.mail.EmailService  -    ErrorBox: errors
2006-04-17 11:26:57,518 3125 [main] INFO  com.sforce.SalesforceAgent  - Service imap.runbox.com:143:golfintelligence:INBOX successfully registered
2006-04-17 11:26:57,518 3125 [main] INFO  com.sforce.SalesforceAgent  - com.sforce.mail.EmailService  loaded as a timer service.
2006-04-17 11:27:00,283 5890 [Thread-1] ERROR com.sforce.mail.GenericClient  - com.sforce.exception.InvalidConfigurationException: The processed folder provided is not valid.
   cases
com.sforce.exception.InvalidConfigurationException: The processed folder provided is not valid.
   cases
 at com.sforce.mail.GenericClient.receive(Unknown Source)
 at com.sforce.mail.EmailService$EmailWorker.run(Unknown Source)
 at java.util.TimerThread.mainLoop(Unknown Source)
 at java.util.TimerThread.run(Unknown Source)
2006-04-17 11:27:01,486 7093 [Thread-1] ERROR com.sforce.mail.SMTPNotification  - ---
ChrisS_SFDCChrisS_SFDC

The error you are receiving is because the agent is not finding the cases folder at the same level as the inbox folder.  You need to make sure that you are entering the correct folder name in the configuration file, and that the folder is at the same level as the inbox folder.  All of these folders need to be at the first level in the Mailbox folder directory.  A future version of the Email To Case agent is looking to make it easier to nest folders, but for now this is a restriction.

Hope this helps,

Chris

GortGort
The processed mail folder 'cases' is at the same level as the Inbox and is set correctly in the config file.  However, I continue to get this error.  Any other possibilities?
ChrisS_SFDCChrisS_SFDC
The error you are seeing is arising because the agent is unable to open the folder.  Essentially the result of opening the folder is returning null.
 
What mail server are you using?
Can you paste the contents of your config file(no passwords) in a reply.
 
Chris
GortGort

I just figured this out.  The mail server puts the other folders as sub folders to the 'Inbox' folder, so their path is actually 'Inbox.cases' or 'Inbox/cases'.  After making this change, things worked fine.

Thanks for your replies.

MicaiahMicaiah
I ran into the same issue while setting up the email-to-case agent.

Our email system specs are;
Control Panel: Plesk 7.5.4 Reloaded (With all updates and watchdog turned off.)
IMAP Server: Courier-IMAP 3.0.8-suse9.1.build75050824.12
Webmail: Horde 3.1.1-suse9.1.build75060412.17  (This is the client I used to setup the IMAP folders.)

In order to access an IMAP folder that in Horde seems to be at the same level as the Inbox folder, I used the following references.

Processed: Inbox.Processed
Error: Inbox.Errored

Inbox/Processed did not work in this configuration.

Hope this helps someone.

Micaiah

Glenn WeinsteinGlenn Weinstein
You are a gem.  :)  I struggled for awhile to figure out why email-to-case didn't like my folder names for the "Readbox" and "Errorbox."  I kept playing with the folders on my e-mail system, trying different names, different variations of subfolders, etc.  Finally I found this suggestion, to add the prefix "Inbox." to each name.  It worked perfectly, even though the folders aren't actually subfolders of "Inbox."  But - it worked!  Thanks.

Glenn