Как выполнить конкатенацию в пути к loadmessage mailbee

Это код, который я использовал для получения всех имен из папки с их расширениями.

string[] files = Directory.GetFiles(@"D:\DLogs\Notification11");
foreach (string file in files)
{

    //Console.WriteLine(Path.GetFileName(file));
    listOfFiles.Add(Path.GetFileName(file));
    mailBeeTask(listOfFiles);
}

Теперь проблема в том, что в mailBeeTask (listOfFiles) я даю имя файла с расширением, но mailbee использует

mailer.Message.LoadMessage(@"D:\DLogs\Notification11\mailbee.eml");

это код mailbee

public static void mailBeeTask(IList<string> ListOfTasks)
{
    //send emails
    Smtp mailer = new Smtp();

    // Use SMTP relay server with authentication.
    mailer.SmtpServers.Add("smtp.domain.com", "joe@domain.com", 
    "secret");

    // Load the message from .EML file (it must be in MIME RFC2822 
    format).
    mailer.Message.LoadMessage(@"D:\DLogs\Notification11\mailbee.eml");
    **//this above line is the problem, how can i use ListOfTasks 
    instead 
    //of mailbee.eml should i concatenate or what??**

    // Demonstrate that we can modify the loaded message.
    // Update the date when the message was composed to the current 
    moment.
    mailer.Message.Date = DateTime.Now;

    mailer.Send();
}

Mailbee используется для отправки писем, сделанных afterlogic.

Что такое мэйлби? 🐝

Uwe Keim 10.08.2018 17:12
afterlogic.com/mailbee-net, это сервис рассылки писем afterlogics
Muhammad Bilal 10.08.2018 17:39
1
2
45
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Согласно логике, вы хотите отправить все файлы сообщений в данный каталог. Поскольку отдельный файл сам по себе является одним полным сообщением, вам необходимо отправлять каждый файл / сообщение отдельно.

Вы правильно получили все файлы. Но тогда вам нужно запустить mailBeeTask для каждого отдельного файла.

Таким образом, две строки для каждой получат

mailBeeTask(file);

и подпись mailBeeTask должна измениться на

public static void mailBeeTask(string filename)

с последующим использованием параметра в последнем изменении

mailer.Message.LoadMessage(filename);

Теперь ваш код будет перебирать все файлы в указанном каталоге, а затем вызывать метод mailBeeTask с полным именем файла в качестве параметра. Затем метод загружает отдельный файл, изменяет дату и отправляет его.

С данным кодом в вашем OP вы также столкнетесь со следующим: вы сначала добавляете файл в listOfFiles, а затем выполняете mailBeeTask для каждого файла в списке. В следующей итерации это приводит к тому, что все предыдущие файлы в списке снова предоставляются в качестве параметра. Имея уже работающий код, вы бы отправили все предыдущие и текущие файлы за одну итерацию.

Спасибо, это именно то, что мне нужно. Недурно.

Muhammad Bilal 11.08.2018 10:43

@MuhammadBilal Нет проблем! Пожалуйста, также не забудьте проголосовать за, спасибо! Я рада, что смогла тебе помочь!

cramopy 11.08.2018 15:27

Извините, я не могу проголосовать, так как он говорит, что мне нужна репутация 15 +, так как я здесь новичок. Но на самом деле большое спасибо, я сделаю это позже, после 15 + репутации здесь.

Muhammad Bilal 12.08.2018 10:49

@MuhammadBilal, у тебя сейчас достаточно прав? Я только что получил еще один голос и снова наткнулся на ваш комментарий :)

cramopy 27.10.2018 11:19

Другие вопросы по теме