1
私はasp.net 4.0 Webページに10個のチャートコントロールがあります。私は、ページを開いたときに、現在ログインしているユーザーにチャートコントロールを電子メールで送信してきました。チャートコントロールはユーザーごとに異なります。私は1つのチャートコントロールを送信しようと試みてこれをテストしていますが、電子メールのボディはチャートだけをイメージのアウトラインに示していません。私はいくつかのことを試しましたが、うまく動作しません。私は今持っているコードがある -電子メールチャートコントロール付きASP.NET Webページ
web.configファイル
<add key="ChartImageHandler" value="storage=memory;deleteAfterServicing=true;"/>
ウェブページのサブのButton1 Click保護
(オブジェクトとしてByVal送信者、System.EventArgsとしてByVal e)は
Button1.Clickを処理しますSendMail()
End Sub
Private Sub SendMail()
Dim SB As New StringBuilder()
Dim SW As New StringWriter(SB)
Dim htmlTW As New HtmlTextWriter(SW)
'SB.Append("<td><img src=""cid:chart17""></td>")
Chart10.RenderControl(htmlTW)
Dim MyHTML As String = SB.ToString()
Dim from As String = "EMAIL ADDRESS"
Dim recip As String = "EMAIL ADDRESS"
'Dim recip As String = Membership.GetUser.Email.ToString
Dim subject As String = "Test Email"
'Create message object and populate w/ data from form
Dim message As System.Net.Mail.MailMessage = New System.Net.Mail.MailMessage()
message.From = New System.Net.Mail.MailAddress(from.Trim())
message.To.Add(recip.Trim())
message.Subject = subject.Trim()
message.IsBodyHtml = True
message.Body = MyHTML
'Setup SmtpClient to send email. Uses web.config settings.
Dim smtpClient As System.Net.Mail.SmtpClient = New System.Net.Mail.SmtpClient()
'Error handling for sending message
Try
smtpClient.Send(message)
'Exception contains information on each failed receipient
Catch recExc As System.Net.Mail.SmtpFailedRecipientsException
For recipient = 0 To recExc.InnerExceptions.Length - 1
Dim statusCode As System.Net.Mail.SmtpStatusCode
'Each InnerException is an System.Net.Mail.SmtpFailed RecipientException
statusCode = recExc.InnerExceptions(recipient).StatusCode
If (statusCode = Net.Mail.SmtpStatusCode.MailboxBusy) Or (statusCode = Net.Mail.SmtpStatusCode.MailboxUnavailable) Then
'Log this to event log: recExc.InnerExceptions(recipient).FailedRecipient
System.Threading.Thread.Sleep(5000)
smtpClient.Send(message)
Else
'Log error to event log.
'recExc.InnerExceptions(recipient).StatusCode or use statusCode
End If
Next
'General SMTP execptions
Catch smtpExc As System.Net.Mail.SmtpException
'Log error to event log using StatusCode information in
'smtpExc.StatusCode
Catch ex As Exception
'Log error to event log.
End Try
End Sub
「SB.Append」や「chart10.rendercontrol(htmlTW)」のようなフォーラムでいくつかの例を試してみましたが、どちらも私にとってはうまくいきません。
helpoはすばらしいでしょう。