我有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
请任何帮助将不胜感激