none
SqlDataSourceを使った複数メール送信について RRS feed

  • 質問

  • Vwd2005・AccessMDBにてメール送信を複数同時送信(MAX10件)したいのですが

    よくわかりません、MailMessageクラスを使用しての送信です

    送信グループを予めAccessに設定してDropDownListから選択しての処理(固定ドメイン)

    以下のように記述しています、よろしくお願い致します。

    ’--------- .aspx --------

            <asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="True"
                AutoPostBack="True" DataSourceID="SqlDataSource1" DataTextField="処理名称" DataValueField="CD">
                <asp:ListItem Selected="True" Value="0">選択</asp:ListItem>
            </asp:DropDownList>        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString1 %>"
                ProviderName="<%$ ConnectionStrings:ConnectionString1.ProviderName %>" SelectCommand="SELECT MailID, CD, Name FROM SendMailF WHERE (CD = ?)">
                <SelectParameters>
                    <asp:ControlParameter ControlID="DropDownList1" Name="CD" PropertyName="SelectedValue"
                        Type="Int32" />
                </SelectParameters>
            </asp:SqlDataSource>

    ’--------- .aspx.VB --------

        dim  sMailID as string

            dim  sNM  as string

            arguments = New DataSourceSelectArguments()
            dtView = Me.SqlDataSource1.Select(arguments)
            'メールアドレスを取得
            ix = 1
           'MailMessageの作成
            Dim msg As New System.Net.Mail.MailMessage()
            msg.From = New System.Net.Mail.MailAddress("xxx@xxxxxx.co.jp", "本人")

            For Each dtRowView In dtView
                If ix > 10 Then Exit For
                sMailID = CType(dtRowView("MailD"), String) & "@xxxxx.co.jp"
                sNM = CType(dtRowView("Name"), String)
              msg.To.Add(New System.Net.Mail.MailAddress(Trim(sMailID), Trim(sNM)))

                ix = ix + 1
            Next

            '件名
            Select Case Me.DropDownList1.SelectedValue
                Case 1
                    msg.Subject = "Groupe1"
                Case 2
                    msg.Subject = "Groupe2"   
                Case 3
                    msg.Subject = "Groupe3"
                Case Else
                    msg.Subject = "??" 
            End Select
            '本文
            msg.Body = "xxxxxxxxxx:"    
            Dim sc As New System.Net.Mail.SmtpClient()

            sc.Host = "SMTPxxxxx.co.jp"
            'メッセージを送信する
            sc.Send(msg)

           



    • 編集済み pythonk 2012年5月25日 20:48
    2012年5月25日 20:40

回答

  • 質問文が見当たりません。何を求めているのですか?

    ASP.NET、SqlDataSource、メール送信、いろいろな話題が含まれていますがその中のどの部分を知りたいのですか? 逆に言えば分っている部分は質問に含める必要はないはずです。つまり、質問者さん自身が知りたい部分を明確にできていないから、質問文の含まれない質問が投稿されてしまうのでしょう。

    • 回答としてマーク pythonk 2012年5月26日 0:39
    • 回答としてマークされていない pythonk 2012年5月26日 0:39
    • 回答としてマーク pythonk 2012年5月26日 0:39
    2012年5月25日 21:22
  • 佐祐理さん

    大変しつれいしました。

    実は先日より以下のmsg.To.Add行でランタイムエラーが起きていまして

    webconfigのcustomErrorsを変更してエラー内容を調べていたのですが

    わからず投稿させていただきましたが、佐祐理さんに本日再度テストを

    行いましたら動作しました。大変申し訳ありませんでした。

    ただ、ローカルではまったく動作しませんが、これはクライアント環境かと思い

    あきらめます。

    失礼致します。

            For Each dtRowView In dtView
                If ix > 10 Then Exit For
                sMailID = CType(dtRowView("MailD"), String) & "@xxxxx.co.jp"
                sNM = CType(dtRowView("Name"), String)
              msg.To.Add(New System.Net.Mail.MailAddress(Trim(sMailID), Trim(sNM)))

                ix = ix + 1
            Next

    • 回答としてマーク pythonk 2012年5月26日 0:39
    2012年5月26日 0:38

すべての返信

  • 質問文が見当たりません。何を求めているのですか?

    ASP.NET、SqlDataSource、メール送信、いろいろな話題が含まれていますがその中のどの部分を知りたいのですか? 逆に言えば分っている部分は質問に含める必要はないはずです。つまり、質問者さん自身が知りたい部分を明確にできていないから、質問文の含まれない質問が投稿されてしまうのでしょう。

    • 回答としてマーク pythonk 2012年5月26日 0:39
    • 回答としてマークされていない pythonk 2012年5月26日 0:39
    • 回答としてマーク pythonk 2012年5月26日 0:39
    2012年5月25日 21:22
  • 佐祐理さん

    大変しつれいしました。

    実は先日より以下のmsg.To.Add行でランタイムエラーが起きていまして

    webconfigのcustomErrorsを変更してエラー内容を調べていたのですが

    わからず投稿させていただきましたが、佐祐理さんに本日再度テストを

    行いましたら動作しました。大変申し訳ありませんでした。

    ただ、ローカルではまったく動作しませんが、これはクライアント環境かと思い

    あきらめます。

    失礼致します。

            For Each dtRowView In dtView
                If ix > 10 Then Exit For
                sMailID = CType(dtRowView("MailD"), String) & "@xxxxx.co.jp"
                sNM = CType(dtRowView("Name"), String)
              msg.To.Add(New System.Net.Mail.MailAddress(Trim(sMailID), Trim(sNM)))

                ix = ix + 1
            Next

    • 回答としてマーク pythonk 2012年5月26日 0:39
    2012年5月26日 0:38