emailsharepointsharepoint-2010timer-jobssplistitem

How do I Show a SPList item Name in an Email sent by a timerJob?


I need to send an Email with a list items name of the rows my caml query picks out. I have this code:

                SPQuery filter = new SPQuery();
                filter.Query = string.Format("<Where><Leq><FieldRef Name=\"Revisionsdatum\" /><Value Type=\"DateTime\">{0}</Value></Leq></Where>", DateTime.Today.AddDays(14).ToString("yyyy-MM-ddThh:mm:ssZ"));
                SPListItemCollection items = yourList.GetItems(filter);
                foreach (var i in items)
                {
                    string from = string.Empty;
                    string smtpAddress = string.Empty;
                    string to = "Someone@someCompany.com";                    
                    string subject = "Dudate is coming";
                    string body = "<h1>Hello!</h1><p>In to weeks an importent dudates comes({0}) with the name {2}.";//Here I would like to ad the dudate and the ListItems Name but how?

                    // get a reference to the current site collection's content database 
                    SPWebApplication webApplication = this.Parent as SPWebApplication;
                    SPContentDatabase contentDb = webApplication.ContentDatabases[contentDbId];

                    // get a reference to the "Tasks" list in the RootWeb of the first site collection in the content database 
                    SPWeb rootWeb = contentDb.Sites[0].RootWeb;

                    SPList listjob = rootWeb.Lists.TryGetList("Tasks");

                    // Get sender address from web application settings 
                    from = rootWeb.Site.WebApplication.OutboundMailSenderAddress;

                    // Get SMTP address from web application settings 
                    smtpAddress = rootWeb.Site.WebApplication.OutboundMailServiceInstance.Server.Address;

                    // Send an email if the news is approved 
                    bool emailSent = SendMail(smtpAddress, subject, body, true, from, to, null, null);


                }                

I would bee greatfull for your answer!


Solution

  • You can get it as follows:

    foreach (SPListItem item in items) \\ items is your SPListItemCollection 
    {
        var fieldValue = item["Field Name"].ToString();
    }