0
  • リスト項目

ここに奇妙なものがあります。$bodyはで構築されています

30 ~ 100 行を追加するループ: $body += "+ $stuff `n"

問題は、$body でプラス (+) を使用すると、本文の各行が行サイズの半分に分割され、次の行に続くことです。

例、

行は実際には次のとおりです。

  • 月|今日はとても素敵に輝いています|今すぐ金を購入して、すぐに本当に金持ちになります

に変更されます (stackoverflow が (+) を黒丸に変更しました。次の 2 行の前にプラスがあることに注意してください)。

  • 月|今日はとても素敵に輝いています|今すぐ金を購入してください

  • 月|すぐに大金持ちになる

プラス (+) を Add という単語に変更すると、メール本文に次のように表示されます。

月を追加|今日はとても素敵に輝きます|今すぐ金を購入して、すぐに本当に金持ちになります

プラス (+) を使用したいと思います。これは、別のプログラムが電子メールの本文で +/- の行を使用するのと同じ形式であるためです。これを機能させる方法はありますか?

    function mailalert($body) {
        $SMTPserver = "mailhost.domain.com"
        $from = "replies-disabled@domain.com"
        $to = "joe@domain.com"
        $subject = "Report for Stuff"
        $mailer = new-object Net.Mail.SMTPclient($SMTPserver)
        $msg = new-object Net.Mail.MailMessage($from, $to, $subject, $body)
        $mailer.send($msg) 
    }
4

2 に答える 2

0

試す:

$body = "$body $stuff `n"

あなたのループで。

「`」を使用して、面倒な文字をエスケープします。

$body = "$body `+ $stuff `n"
于 2012-08-17T18:51:12.360 に答える
0

さて、私はNet.Mail.SMTPclientを放棄し、これを回避するためにテキストの本文としてhtmlを使用することにしました。

    function mailalert($diff) {
        $SMTPserver = "mailhost.domain.com"
        $smtp = New-Object system.Net.Mail.SmtpClient($SMTPserver)
        $mail = New-Object System.Net.Mail.MailMessage
        $mail.From = "replies-disabled@domain.com"
        $mail.To.Add("joe@domain.com")
        $mail.Subject = "Report for stuff"
        $mail.Body = $diff
        $mail.IsBodyHtml = $true
        $smtp.Send($mail)
    }

`nのすべての使用法をに変更し
、それが機能するようにした。他の方法が機能しなかった理由はまだ少し困惑しています。プラス記号が含まれているメールアドレスがアドレス指定されているという別の問題が発生しているので、それを修正すると問題が発生したのではないかと思います。:)

于 2012-08-17T19:16:54.743 に答える