Tutorial by Topics: email

A useful technique for Exchange Server administrators is to be able to send email messages via SMTP from PowerShell. Depending on the version of PowerShell installed on your computer or server, there are multiple ways to send emails via powershell. There is a native cmdlet option that is simple and easy to use. It uses the cmdlet Send-MailMessage.

As with web development, it's good to provide some reset CSS to the emails. As when building a web page, adding a CSS reset to an email helps to normalize how the code gets rendered across multiple email clients (since each has it's own default styles and way of interpreting code).

Currently .Net Core does not include support to send emails like System.Net.Mail from .Net. MailKit project (which is available on nuget) is a nice library for this purpose.

When an email client doesn't support media-queries, a hybrid approach can be used to to reconfigure the layout for different screen sizes for email clients regardless of media query support. It uses fluid tables and max-width and min-width to impose rigid baselines (allowing some movement) and imposes a fixed, wide width for Outlook who is shackled to desktop anyway. Once a mobile-friendly baseline is set, media queries progressively enhance the email further in clients that support it.

There are several reasons you might come across for needing email capabilities in SAS. You could be sending an email to notify someone that a process passed/failed, you could be sending an email containing Macro Variables that show how many records have been loaded at the end of your data feed, or maybe you need to send some files that contain reports. Whatever your need is, there are several ways to go about sending emails and files in SAS.

Postmark up is a third party API which provide you to send mail or we can say multiple mails at a time with a speedy response.

Creating the data validation constraint can be tricky and time taking in NPOI. I have shared some of my workable approach. These approach will give good idea to customize your own constraint types.

Page 1 of 1