anonymous Log in
Search
Recents:
v3.0
japan
SMTPSessionについて
12/09/12 07:39

kitada

Replies: 1

お世話になります。KDLの北田と申します。
以下の環境で検証をしております。
GeneXus X Evolution 1 Trial版(Ver:10.1.53786 U7)
SMTPSessionデータタイプを使用し、複数宛先へ同報配信をするため、
プロシジャーで下記のようなコードを実装したところ、
複数宛先で受信はできていますが、受信メールの宛先欄には
最後尾の宛先のメールアドレスしか表示されません。
なお、コードにある通り、msg関数で「MailMessage.To.Item()」の値を表示したところ、
複数宛先分の名前とメールアドレスが格納されているようです。
コードに不備などあれば、ご教授頂けると幸いです。
++++++++++++++++++++++++++++++++++++++++
&MailMessage.To.Clear()
&cnt = 1
// ユーザマスタから複数の宛先をセット
For Each
&MailRecipient.Name = UserName
&MailRecipient.Address = UserMailAddress
&MailMessage.To.add(&MailRecipient)
msg(&MailMessage.To.Item(&cnt).Name)
msg(&MailMessage.To.Item(&cnt).Address)
&cnt = &cnt + 1
Endfor
&MailMessage.Subject = 'Test Subject'
&MailMessage.Text = 'Test Text'
&SMTPSession.Host = 'smtpserver.com'
&SMTPSession.Sender.Name = 'Test Sender'
&SMTPSession.Sender.Address = 'testsender@example.com'
&SMTPSession.Authentication = 0
&SMTPSession.Login()
&SMTPSession.Send(&MailMessage)
if &SMTPSession.ErrCode <> 0
msg(&SMTPSession.ErrDescription)
endif
&SMTPSession.Logout()
++++++++++++++++++++++++++++++++++++++++
以上、宜しくお願い致します。
Replies

林田

23/10/12 03:40
たぶんGXのバグだと思われます。 GXの宛先リストは「;」セミコロンで区切っているため、その区切りをパースできないメールクラインとでは、正常に表示されない問題が確認されています。 GoogleのWebMailやWindowsのOutLookでは正常にパースされ、表示ができますが、YahooのWebMailでは表示できないことが確認されています。 SAC # 22976 に登録されておりました。 2012年9月12日 19:38 北田 高之 : > お世話になります。KDLの北田と申します。 > > 以下の環境で検証をしております。 > GeneXus X Evolution 1 Trial版(Ver:10.1.53786 U7) > > SMTPSessionデータタイプを使用し、複数宛先へ同報配信をするため、 > プロシジャーで下記のようなコードを実装したところ、 > 複数宛先で受信はできていますが、受信メールの宛先欄には > 最後尾の宛先のメールアドレスしか表示されません。 > > なお、コードにある通り、msg関数で「MailMessage.To.Item()」の値を表示したところ、 > 複数宛先分の名前とメールアドレスが格納されているようです。 > > コードに不備などあれば、ご教授頂けると幸いです。 > > ++++++++++++++++++++++++++++++++++++++++ > &MailMessage.To.Clear() > &cnt = 1 > > // ユーザマスタから複数の宛先をセット > For Each > &MailRecipient.Name = UserName > &MailRecipient.Address = UserMailAddress > &MailMessage.To.add(&MailRecipient) > msg(&MailMessage.To.Item(&cnt).Name) > msg(&MailMessage.To.Item(&cnt).Address) > &cnt = &cnt + 1 > Endfor > > &MailMessage.Subject = 'Test Subject' > &MailMessage.Text = 'Test Text' > > &SMTPSession.Host = 'smtpserver.com' > &SMTPSession.Sender.Name = 'Test Sender' > &SMTPSession.Sender.Address = 'testsender@example.com' > &SMTPSession.Authentication = 0 > &SMTPSession.Login() > &SMTPSession.Send(&MailMessage) > if &SMTPSession.ErrCode <> 0 > msg(&SMTPSession.ErrDescription) > endif > &SMTPSession.Logout() > ++++++++++++++++++++++++++++++++++++++++ > > 以上、宜しくお願い致します。 > >


Back to japan