SMPP SubmitMessage破坏某些字符,如@ ^ _我使用SMSCRelay组件

时间:2013-08-13 12:08:54

标签: delphi sms smpp

我有Delphi 2010中使用的SMSCRelay ActiveX组件,我发送邮件时出现的问题包括一些字符,如(@ ^ _)我收到带问号的邮件而不是这些字符。

我的代码和我的危险解决方案:(

if  MessageIsArabic  then
              MsgEncoding :=  etUCS2Text
                else
              MsgEncoding :=  et7bitText;


MessageSendResult := FSMPPConnection.SubmitMessageEx(Mobile,1,1,SenderOrigTon,OrigNpi,Msg,MsgEncoding,FPartUDH,m_ReqReport,now,now+1,'','',ProtID,OutMessageID );

我的旧解决方案是检查邮件是否包含这些字符集编码为etUCS2Text但是我发现提供商报告与我们的报告之间存在差异。

 if  MessageArabic  then
              MsgEncoding :=  etUCS2Text
              else
                begin 
                  MsgEncoding :=  et7bitText ;
                  if pos('@',FInMessage.OutMessage)>0 then MsgEncoding := etUCS2Text ;
                  if pos('#',FInMessage.OutMessage)>0 then MsgEncoding := etUCS2Text ;
                  if pos('^',FInMessage.OutMessage)>0 then MsgEncoding := etUCS2Text ;
                  if pos('_',FInMessage.OutMessage)>0 then MsgEncoding := etUCS2Text ;
                end;

包含这些字符时英文消息中的问题

编码可以在组件中使用

et7bitText
et8bitHexadecimal
etUCS2Text
etISO88591
etISO88595
etISO88598
etASCIIText
etWAPPushOrMMS

请任何帮助将不胜感激

0 个答案:

没有答案