送信するメールのリストを取得するプロジェクトに取り組んでいます。メールに必要なアイテムを作成するためのコードが別のクラスにあります。
public class EmailStructure
{
public MailMessage Email { get; set; }
public int MailId { get; set; }
public int MailTypeId { get; set; }
}
データを返し、データセット内の各レコードをループして新しいものを作成するコードがありますMailMessage
。問題は、リストにを追加しようとするとMailMessage
、次のようなエラーが発生することです。
引数タイプSystem.New.Mail.MailMessageは、パラメータータイプ'EmailStructure'に割り当てることができません。
明らかに私はここで何か間違ったことをしていますが、問題が何であるかを理解することはできません。私のコードは以下の通りです:
class SendMails
{
public List<EmailStructure> emailMessages = new List<EmailStructure>();
public List<GetOutboundEmailsResult> emailResults = new List<GetOutboundEmailsResult>();
public Extract()
{
// get data from DB
}
public void Transform()
{
if(emailResults.Any())
{
foreach (GetOutboundEmailsResult item in emailResults)
{
var emailBody = GetEmailBody(item);
// create email this returns the type as MailMessage
var email = emailHandler.ComposeNewEmail(
System.Configuration.ConfigurationManager.AppSettings["Mailbox"],
item.MailboxFrom,
string.Empty,
string.Empty,
emailBody.ToString(),
true,
"test");
// add email message to List<MailMessage>
// need to add MailMessage, MailId, MailTypeId
emailMessages.Add(email); // error is appearing here
}
}
}
public Route()
{
// send the emailMessages
foreach(var row in emailMessages)
{
// need to use the MailId, MailTypeId here from the list
emailHandler.SendNewEmail(row.Email)
}
}
}
MailMessage、Maild、MailTypeIdをリストに追加するにはどうすればよいですか?プロセスの後半でメソッドでメールを送信できるように、これらすべてのアイテムが必要です。