При рисовании изображения с помощью 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));
}
Я не уверен, что вы можете изменить номера портов с помощью 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')
Я не использовал 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")
Вот мой пример 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 в свое имя пользователя ...
Я использовал решение Кристиана от 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)
Наслаждайтесь!