بسم الله الرحمن الرجيم
الكود التالي من المفترض انه يرسل الكريستال ريبورت عن طريق الايميل بشكل تلقائي ...
طبعاً حصلت عليه من احد المواقع ..
فقط اريد ان اعرف ماهو ال ReportDocument rpt اللي يجب ان امرره لما اطلب الكلاس sendemail ؟؟
مشروعي تقريباً جاهز فقط ينقصه هذه المعلومة الصغيره ان شاء الله
هاذا كود ارسال الايميل :
public void SendEmail(string emailId, string subject, string body, ReportDocument rpt, string fileName)
{
try
{
MailMessage mm = new MailMessage();
mm.From = new MailAddress("st@********", "Hadi ");
mm.To.Add(new MailAddress(emailId, "To Name"));
mm.Subject = subject;
mm.Body = body;
mm.Attachments.Add(
new Attachment(rpt.ExportToStream(ExportFormatType.PortableDocFormat), fileName)
);
SmtpClient sc = new SmtpClient("*********");
sc.Credentials = new NetworkCredential("******", "******");
sc.Send(mm);
//MessageBox.Show("Email successfully sent to " + emailId);
}
catch (Exception e)
{
Label6.Text = e.ToString();
this.SendEmail(emailId, subject, body, rpt, fileName);
}
}
وهذا الكود اللي ينشأ الكريستال ريبوبت عندي :
CrystalReportViewer1.LogOnInfo[0].ConnectionInfo.ServerName = "********";
CrystalReportViewer1.LogOnInfo[0].ConnectionInfo.UserID = "sa";
CrystalReportViewer1.LogOnInfo[0].ConnectionInfo.Password = "******";
CrystalReportViewer1.LogOnInfo[0].ConnectionInfo.DatabaseName = "*******";
int LPO_NO = 20;
ParameterField paramField = new ParameterField();
ParameterFields paramFields = new ParameterFields();
ParameterDiscreteValue paramDiscreteValue = new ParameterDiscreteValue();
paramField.Name = "LPO";
paramDiscreteValue.Value = LPO_NO;
paramField.CurrentValues.Add(paramDiscreteValue);
paramFields.Add(paramField);
CrystalReportViewer1.ParameterFieldInfo = paramFields;ان شاء الله الاقي الحل عندكم بأسرع وقت
الله يجزاكم كل خير
وشكرا لكم مقدماً
تحياتي لكم جميعا