«Нет» по протоколу - rfc1912 # section-2.4 , но «да», если используется сглаживание CNAME.
Кроме того, вы должны настроить SPF и DMARC, используя ваши почтовые серверы, в вашем случае sendgrid
not your@example.app
Узнайте больше о том, как Cloudflare имеет дело с сглаживанием CNAME здесь: https: / /blog.cloudflare.com/introducing-cname-flattening-rfc-compliant-cnames-at-a-domains-root/
Единственный способ создать правильно динамическую таблицу - это иметь имена столбцов, равные ключам объекта. Тогда вы можете зациклить свойства объекта по именам столбцов внутри массива данных. Вот небольшой пример.
<table>
<thead>
<tr>
<th *ngFor="let col of data.ColumnNames">{{ col }}</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let row of data.Rows">
<td *ngFor="let col of data.ColumnNames">
{{ row.Cells[col].Data }}
</td>
</tr>
</tbody>
</table>
Конечно, вы можете усложнить имена столбцов и получить объект, например:
{
columnName: 'Valid Date',
dataKey: 'date_validite'
}
И цикл мысли массив таких столбцов. Это зависит от вас. Я надеюсь, что вы поймете основную идею.