Send email by group from a datatable

Hello friend,

I had a datatable in an Excel File(see attached file)

I want to send an email par id (in column1 )for the mails 'in column1).

for example: in the Excel file attached i will send 3 mails:

for IID 1: one mail with a body containing: addr1, addr3, addr7, Red, Grey and harmony
for IID 2: one mail whit a body containing : addr2, addr6, Blue, Black

for IID 3: one mail whit a body containing : addr4, addr5, yellow, white

any suggestion :slight_smile: ?
Tests.xlsx (10.6 KB)

@abdel wait I am giving sample
SendEmailById.xaml (11.2 KB)
Please send and update me also mark it as a solution so others can get help from it,

its a group by case

On the begin also a Non-LINQ approach is presented

grafik
row in dtData.DefaultView.ToTable(True, {“IID”})
grafik

so the data will be grouped by IID column
Within the group member processing the email body can be constructed e.g. by concatenation of the group member column values or taking the datatable with only the group related rows

Hi @abdel ,
Try this xaml

xaml is attached.

Grouping.xaml (6.6 KB)
Thanks,
Muthuraj

Hello @muthuraj.c ,

Briliant, it works, now let say that i want to send a mail like this:

"Hello,

I inform you that I have just deposited files for the [Code Géstion] administration in the file provided for this purpose under the link: S:….\BOP [BOP][ DPE].

The filed are as follows:

  • File1 n°[ N° d’enregistrement][ BGE Paye][ Mois]of the agent

  • File2 n°[ N° d’enregistrement][ BGE Paye][ Mois]of the agent
    -…

Regards,
The robot"

So the robot will send 2 mails , in each mail it fill the body with correspondant information, the word in are the column values read from the Exel i had attached
sample.xlsx (25.9 KB)

I had used the formula: (From DR In DT_Input.AsEnumerable Group DR By Col0=DR("Column28").toString.Trim Into grp=Group Let Col1 = String.Join(",", grp.Select(Function (col1Field) col1Field("Column1").toString).toArray) Let Col2 = String.Join(",", grp.Select(Function (col2Field) col2Field("Column0").toString).toArray) Let Col3 = String.Join(",", grp.Select(Function (col2Field) col2Field("Column6").toString).toArray) Let Col4 = String.Join(",", grp.Select(Function (col2Field) col2Field("Column2").toString).toArray ) Let Col5 = String.Join(",", grp.Select(Function (col2Field) col2Field("Column3").toString).toArray ) Let Col_Array = New Object(){Col0, Col1, Col2,Col3,Col4,Col5} Select DT_Output.Rows.Add(Col_Array)).CopyToDataTable

Hi @abdel ,

Refer this blow link

Thanks,
Muthuraj

Hello @muthuraj.c,

Thnak you for the advice, i tried the html, i got :
Append Line: The index was out of bounds. It must not be negative and must be less than the size of the collection.
Parameter name: index

Grouping.xaml (22.6 KB)
MailBodyHtmlContent.txt (767 Bytes)
Sample.xlsx (71.3 KB)

Hi @abdel ,

Values haven’t assigned properly to respective variable and see the below screenshot

Sample xaml is attached
Sample.zip (9.3 KB)

Thanks,
Muthuraj

Hello @muthuraj.c , i managed that,

Now i have a mail which has the following structure:

Bonjour,
Je vous informe que je viens de déposer des fichiers :

Pour l’administration : 355 078 dans le dossier prévu à cet effet sous le lien : S:.…, Les xxxx déposés sont les suivants :

  •   xxxx n°2021A2067 de l’agent nn_mm. 
    

Pour l’administration : 355 078 dans le dossier prévu à cet effet sous le lien : S:.…, Les xxxx déposés sont les suivants :

  •   xxxx n°2021A1266 de l’agent aa_bb. 
    

Pour l’administration : 355 078 dans le dossier prévu à cet effet sous le lien : S:.…, Les PKO/QTV déposés sont les suivants :

  •   xxxx n°2021A1521 de l’agent cc dd_dd. 
    

Pour l’administration : 355 444 dans le dossier prévu à cet effet sous le lien : S:.…, Les PKO/QTV déposés sont les suivants :

  •   xxxx n°2021A1266 de l’agent hh_kk. 
    

Pour l’administration : 355 444 dans le dossier prévu à cet effet sous le lien : S:.…, Les PKO/QTV déposés sont les suivants :

  •   xxxx n°2021A1521 de l’agent jj_ii . 
    

i want to structure it as:

Bonjour,
Je vous informe que je viens de déposer des fichiers :

Pour l’administration : 355 078 dans le dossier prévu à cet effet sous le lien : S:.…, Les xxxx déposés sont les suivants :

  •   xxxx n°2021A2067 de l’agent nn_mm. 
    
  •   xxxx n°2021A1266 de l’agent aa_bb. 
    
  •   xxxx n°2021A1521 de l’agent cc dd_dd. 
    

Pour l’administration : 355 444 dans le dossier prévu à cet effet sous le lien : S:.…, Les PKO/QTV déposés sont les suivants :

  •   xxxx n°2021A1266 de l’agent hh_kk. 
    
  •   xxxx n°2021A1521 de l’agent jj_ii .
    

Sample.xlsx (70.1 KB)
Grouping.xaml (24.6 KB)