JCL を使用している場合に Delphi Unicode でのみ発生する問題があります (最新の MAPI コードを使用するようにしました)。
一般的な MAPI エラーが発生します
TmpEmail := TjclEmail.Create;
TmpResolve := False;
try
TmpResolve := TmpEmail.ResolveName(TmpStr_Name, TmpStr_Email, True);
except
// new code for Delphi unicode... Also gives mapi failure
end;
if TmpResolve then
TmpEmail.Recipients.Add(TmpStr_Email)
else
TmpEmail.Recipients.Add('smtp:' + TmpStr_Email)
;
TmpEmail.Recipients[0].Name := TmpEmail.Recipients[0].Address;
TmpEmail.Subject := 'bla bla';
TmpEmail.Send(True);
このコードは、Delphi 2007、同じ JCL、Thunderbird で動作しますが、Delphi 2010 などを使用する場合は動作しません。一般的な JCL/MAPI の回避策を適用しようとしました。何か案は?:)