FrontlineSMS allows you to text message with large groups of people anywhere there is a mobile signal.
I am trying to configure the SMS to email functionality on 1.x. Is there a limit to the number of email addresses that can be entered into the field? Unforntunately, I was not able to multi select users from the contacts list, so tried the alternative approach of pasting in a list of multiple users.
Is there any intention of expanding the functionality to enable selection of multiple contacts?
Thanks!
Permalink Reply by Faisal Tayebjee on June 15, 2012 at 8:31am Hi, thanks for checking but are they sure? As I couldnt select multiple contacts through the interface in the application, I copied and pasted my email addresses. Roughly, when the string of email addresses exceeded 230 characters, the error message below was invoked.
Thanks
Faisal
class org.springframework.jdbc.UncategorizedSQLException :: Hibernate operation: Could not execute
JDBC batch update; uncategorized SQLException for SQL [update KeywordAction set commandInteger=?, commandString=?, counter=?, emailAccount_id=?, emailRecipients=?, emailSubject=?, endDate=?, externalCommand=?, externalCommandResponseActionType=?, externalCommandResponseType=?, externalCommandType=?, group_path=?, keyword_id=?, startDate=?, type=? where id=?]; SQL state [90005]; error code [90005]; Value too long for column "EMAILRECIPIENTS VARCHAR(255)": **E-Mail adresses - I removed these** (869)"; SQL statement:
update KeywordAction set commandInteger=?, commandString=?, counter=?, emailAccount_id=?, emailRecipients=?, emailSubject=?, endDate=?, externalCommand=?, externalCommandResponseActionType=?, externalCommandResponseType=?, externalCommandType=?, group_path=?, keyword_id=?, startDate=?, type=? where id=? [90005-127]; nested exception is org.h2.jdbc.JdbcBatchUpdateException: Value too long for column "EMAILRECIPIENTS VARCHAR(255)": "'**E-Mail adresses - I removed these**
(869)"; SQL statement:
update KeywordAction set commandInteger=?, commandString=?, counter=?, emailAccount_id=?, emailRecipients=?, emailSubject=?, endDate=?, externalCommand=?, externalCommandResponseActionType=?, externalCommandResponseType=?, externalCommandType=?, group_path=?, keyword_id=?, startDate=?, type=? where id=? [90005-127]
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.springframework.orm.hibernate3.HibernateAccessor.convertJdbcAccessException(HibernateAccessor.java:424)
at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:410)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:424)
at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
at org.springframework.orm.hibernate3.HibernateTemplate.update(HibernateTemplate.java:716)
at org.springframework.orm.hibernate3.HibernateTemplate.update(HibernateTemplate.java:712)
at net.frontlinesms.data.repository.hibernate.BaseHibernateDao.updateWithoutDuplicateHandling(BaseHibernateDao.java:125)
at net.frontlinesms.data.repository.hibernate.HibernateKeywordActionDao.updateKeywordAction(HibernateKeywordActionDao.java:47)
at net.frontlinesms.ui.handler.keyword.BaseActionDialog.update(BaseActionDialog.java:142)
at net.frontlinesms.ui.handler.keyword.EmailActionDialog.save(EmailActionDialog.java:220)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at thinlet.Thinlet.invokeImpl(Thinlet.java:4585)
at thinlet.Thinlet.invoke(Thinlet.java:4554)
at thinlet.Thinlet.handleMouseEvent(Thinlet.java:3836)
at thinlet.Thinlet.processEvent(Thinlet.java:2946)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.<unknown>(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.<unknown>(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: class org.h2.jdbc.JdbcBatchUpdateException :: Value too long for column "EMAILRECIPIENTS VARCHAR(255)": **E-Mail adresses - I removed these**
(869)"; SQL statement:
update KeywordAction set commandInteger=?, commandString=?, counter=?, emailAccount_id=?, emailRecipients=?, emailSubject=?, endDate=?, externalCommand=?, externalCommandResponseActionType=?, externalCommandResponseType=?, externalCommandType=?, group_path=?, keyword_id=?, startDate=?, type=? where id=? [90005-127]
at org.h2.jdbc.JdbcPreparedStatement.executeBatch(JdbcPreparedStatement.java:1119)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)
at org.springframework.orm.hibernate3.HibernateAccessor.flushIfNecessary(HibernateAccessor.java:390)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:420)
at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
at org.springframework.orm.hibernate3.HibernateTemplate.update(HibernateTemplate.java:716)
at org.springframework.orm.hibernate3.HibernateTemplate.update(HibernateTemplate.java:712)
at net.frontlinesms.data.repository.hibernate.BaseHibernateDao.updateWithoutDuplicateHandling(BaseHibernateDao.java:125)
at net.frontlinesms.data.repository.hibernate.HibernateKeywordActionDao.updateKeywordAction(HibernateKeywordActionDao.java:47)
at net.frontlinesms.ui.handler.keyword.BaseActionDialog.update(BaseActionDialog.java:142)
at net.frontlinesms.ui.handler.keyword.EmailActionDialog.save(EmailActionDialog.java:220)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at thinlet.Thinlet.invokeImpl(Thinlet.java:4585)
at thinlet.Thinlet.invoke(Thinlet.java:4554)
at thinlet.Thinlet.handleMouseEvent(Thinlet.java:3836)
at thinlet.Thinlet.processEvent(Thinlet.java:2946)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.<unknown>(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.<unknown>(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Permalink Reply by Roy Owino on June 18, 2012 at 5:52am Hi Faisal,
Sorry our application cannot support beyond 255 characters for the email recipient field. This means that you can only send e-mail to a limited number of recipients at any given time.
Thanks
Roy
Permalink Reply by Faisal Tayebjee on June 18, 2012 at 9:17am Hi,
In response to my own question, I am now using a windows utlity that sends mail by command prompt similar to unix sendmail. This allows greater flexibility for sending e-mails in response to a text.
However, please can someone advise, how do I execute a windows batch file from within FLSMS? I have created a keyword to call an external command. The execution type is set to command line and the command is written as C:\sendmail.bat. I have also set the response type to Do Not Wait.
The keyword is being triggered, as the hits counter is incremented. However, the batch script is not called. The script has been placed in the C:\ directory.
Thanks
Faisal
Permalink Reply by Faisal Tayebjee on June 19, 2012 at 3:30am Just to share that a little bit of progress has been made.
As noted before, I used the external command feature within FLSMS to call a windows sendmail utlity, which provides a bit more flexibility in sendin an email (specifically for me, to a large distribution list). The previous issue of calling the batch file was resolved by placing all necessary files in the same directory as the FLSMS application.
Now I can send a SMS and it forward the message to the utility as a parameter, which sends an email with the content in the subject. However, the spaces within the content are replaced with a '+'. As an example: 'This+is+a+test'
My next question is how does FLSMS pass the string out through the external command and is there any way to control this?
Many thanks
Faisal
© 2013 Created by kiwanja.net.
Powered by