23-07-24, 05:05 AM
(22-07-24, 10:25 AM)تركي الحلواني كتب : يوجد طريقة
يجب تجهيز التقرير وتحويله الى ملف PDF ومن ثم اجراء ارسال للايميل عن طريق تجهيز الايميل وكلمة مرور التطبيق (ليست كلمة مرور الايميل)
هذا كود تحويل التقرير Report Viewer الى PDF :
PHP كود :
Private Sub ExportToPDF(reportViewer As ReportViewer, outputPath As String)
' تحديد نوع التصدير وتكوين الخيارات
Dim deviceInfo As String = "<DeviceInfo><OutputFormat>PDF</OutputFormat></DeviceInfo>"
' تحديد معلمات التقرير
Dim warnings As Warning() = Nothing
Dim streamIds As String() = Nothing
Dim mimeType As String = ""
Dim encoding As String = ""
Dim fileNameExtension As String = ""
' تصدير التقرير إلى مصفوفة بتدفق البيانات
Dim bytes As Byte() = reportViewer.LocalReport.Render("PDF", deviceInfo, mimeType, encoding, fileNameExtension, streamIds, warnings)
' حفظ بتدفق البيانات إلى ملف PDF
Using fs As New FileStream(outputPath, FileMode.Create)
fs.Write(bytes, 0, bytes.Length)
End Using
End Sub
واستدعاء الدالة يكون
PHP كود :
ExportToPDF(ReportViewer1, "C:\PDF\" & "Report.pdf")
وكود الارسال (Gmail) يكون
PHP كود :
Private Sub SendEmail(ToEmailUser As String)
If ToEmailUser = "" Then Exit Sub
Dim utf8 As Encoding = Encoding.UTF8
Dim Smtp_Server As New SmtpClient
Dim e_mail As New MailMessage()
Smtp_Server.UseDefaultCredentials = False
Smtp_Server.Credentials = New Net.NetworkCredential("الايميل", "كلمة مرور التطبيق")
Smtp_Server.Port = 587
Smtp_Server.EnableSsl = 1
Smtp_Server.Host = "smtp.gmail.com"
Smtp_Server.DeliveryMethod = SmtpDeliveryMethod.Network
e_mail = New MailMessage()
e_mail.From = New MailAddress("الايميل")
e_mail.To.Add(ToEmailUser.Trim())
e_mail.Attachments.Add(New Net.Mail.Attachment("C:\PDF\Report.pdf"))
e_mail.Subject = "تقرير "
e_mail.Body = "النص في الايميل"
e_mail.Subject = utf8.GetString(utf8.GetBytes(e_mail.Subject))
e_mail.Body = utf8.GetString(utf8.GetBytes(e_mail.Body))
Smtp_Server.Send(e_mail)
SendWeekBoolen = True
e_mail.Attachments.Dispose()
e_mail.Attachments.Clear()
End Sub
وطريقة الاستدعاء
PHP كود :
SendEmail("الايميل المرسل له")
شكرا لك يا طيب
