Отправьте почта через Gmail с V2 PowerShell Отправляют-MailMessage

При рисовании изображения с помощью GDI +, это масштабируется вполне хорошо, по-моему. Можно использовать это для создания масштабированного изображения.

, Если Вы хотите масштабировать свое изображение с GDI +, можно сделать что-то вроде этого:

Bitmap original = ...
Bitmap scaled = new Bitmap(new Size(original.Width * 4, original.Height * 4));
using (Graphics graphics = Graphics.FromImage(scaled)) {
  graphics.DrawImage(original, new Rectangle(0, 0, scaled.Width, scaled.Height));
}
41
задан Peter Mortensen 26 October 2019 в 08:24
поделиться

4 ответа

Я не уверен, что вы можете изменить номера портов с помощью Send-MailMessage, поскольку Gmail работает на порту 587. В любом случае, вот как отправить электронную почту через Gmail с помощью .NET SmtpClient:

$smtpClient = New-Object system.net.mail.smtpClient
$smtpClient.Host = 'smtp.gmail.com'
$smtpClient.Port = 587
$smtpClient.EnableSsl = $true
$smtpClient.Credentials = [Net.NetworkCredential](Get-Credential GmailUserID)
$smtpClient.Send('GmailUserID@gmail.com', 'yourself@somewhere.com', 'test subject', 'test message')
7
ответ дан 27 November 2019 в 00:29
поделиться

Я не использовал PowerShell V2 Send-MailMessage , но я использовал класс System.Net.Mail.SMTPClient в V1 для отправки сообщений в учетную запись Gmail для демонстрации целей. Это может быть излишним, но я запускаю сервер SMTP на своем ноутбуке с Windows Vista (см. по этой ссылке ). Если вы работаете на предприятии, у вас уже есть почтовый ретранслятор, и этот шаг не нужен. Имея SMTP-сервер, я могу отправлять электронную почту в свою учетную запись Gmail со следующим кодом:

$smtpmail = [System.Net.Mail.SMTPClient]("127.0.0.1")
$smtpmail.Send("myacct@gmail.com", "myacct@gmail.com", "Test Message", "Message via local SMTP")
0
ответ дан 27 November 2019 в 00:29
поделиться

Вот мой пример PowerShell Send-MailMessage для Gmail ...

Протестированное и рабочее решение:

$EmailFrom = "notifications@somedomain.com"
$EmailTo = "me@earth.com"
$Subject = "Notification from XYZ"
$Body = "this is a notification from XYZ Notifications.."
$SMTPServer = "smtp.gmail.com"
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential("username", "password");
$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)

Просто измените $ EmailTo, а также имя пользователя / пароль в $ SMTPClient.Credentials ... Сделайте не включайте @ gmail.com в свое имя пользователя ...

46
ответ дан 27 November 2019 в 00:29
поделиться

Я использовал решение Кристиана от 12 февраля, и я также только начинаю изучать PowerShell. Что касается вложений, я копался в Get-Member, изучая, как он работает, и заметил, что Send() имеет два определения... второе определение принимает объект System.Net.Mail.MailMessage, который позволяет создавать вложения и многие другие мощные и полезные функции, такие как Cc и Bcc. Вот пример, в котором есть вложения (чтобы смешать его с примером выше):

# append to Christian's code above --^
$emailMessage = New-Object System.Net.Mail.MailMessage
$emailMessage.From = $EmailFrom
$emailMessage.To.Add($EmailTo)
$emailMessage.Subject = $Subject
$emailMessage.Body = $Body
$emailMessage.Attachments.Add("C:\Test.txt")
$SMTPClient.Send($emailMessage)

Наслаждайтесь!

4
ответ дан 27 November 2019 в 00:29
поделиться
Другие вопросы по тегам:

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