Как прикрепить файл к электронному письму с помощью PowerShell

String.IsNullOrWhiteSpace был представлен в .NET 4. Если вы не ориентируетесь на .NET 4, вы можете легко написать свой собственный:

public static class StringExtensions
{
    public static bool IsNullOrWhiteSpace(string value)
    {
        if (value != null)
        {
            for (int i = 0; i < value.Length; i++)
            {
                if (!char.IsWhiteSpace(value[i]))
                {
                    return false;
                }
            }
        }
        return true;
    }
}

, который можно использовать следующим образом. :

bool isNullOrWhiteSpace = StringExtensions.IsNullOrWhiteSpace("foo bar");

или как метод расширения , если вы предпочитаете:

public static class StringExtensions
{
    public static bool IsNullOrWhiteSpace(this string value)
    {
        if (value != null)
        {
            for (int i = 0; i < value.Length; i++)
            {
                if (!char.IsWhiteSpace(value[i]))
                {
                    return false;
                }
            }
        }
        return true;
    }
}

, который позволяет использовать его напрямую:

bool isNullOrWhiteSpace = "foo bar".IsNullOrWhiteSpace();

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

13
задан abatishchev 1 November 2010 в 09:26
поделиться

1 ответ

Я испытал такую проблему, (окна 10 / PS 5.1), Мой SMTP не authentified или безопасный... Я должен закончить к этой строке «MyAttacheObject. Расположите ()»... / и наконец это - работа:!

$smtp = new-object Net.Mail.SmtpClient($smtpserver) 
$attach.Dispose()

это - мой кодекс с двумя приложениями:

# Email configuration NO AUTH NO SECURE
$emailHost = "smtp.bot.com"
$emailUser = ""
$emailPass = ""
$emailFrom = "myemail@bot.com"
$emailsTo=@("toyoumylove@bot.com","toyoumybad@bot.com")
$emailSubject = $title
$emailbody=$body
$attachment1 = @($PATh+$outFile) 
$attachment2 = @($PATh+$inFile) 
#End of parameters

$msg = New-Object System.Net.Mail.MailMessage
$msg.from = ($emailFrom)
    foreach ($d in $emailsTo) {    
    $msg.to.add($d)
    }
$msg.Subject = $emailSubject
$msg.Body = $emailbody
$msg.isBodyhtml = $true   

$att = new-object System.Net.Mail.Attachment($attachment1)
$msg.Attachments.add($att)
$att = new-object System.Net.Mail.Attachment($attachment2)
$msg.Attachments.add($att)
$smtp = New-Object System.Net.Mail.SmtpClient $emailHost
$smtp.Credentials = New-Object System.Net.NetworkCredential($emailUser, $emailPass);
  $smtp.send($msg)
  $att.Dispose()
0
ответ дан 1 December 2019 в 21:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: