none
отправка мейла через posh RRS feed

  • Вопрос

  • Товарищи, нужно создать скрипт отправки мейл сообщения. Попробовал использовать команду send-mailmessage, но она не подходит потому что надо вручную вводить как минимум пароль мейл аккоунта. Есть ли другие подобные команды, если нет то не подскажите как послать через com объект ms outlook или что-то подобное.

    21 апреля 2011 г. 10:46

Ответы

Все ответы

  • $outlook = New-Object -ComObject Outlook.Application 
     $mail = $outlook.CreateItem(0) 
     $mail.Application | Out-Null 
     $mail.Recipients.Add("XXX@YYY.ZZZ") | Out-Null 
    $mail.Subject = $subj $mail.Body = $body $mail.Attachments.Add("$folder\$archname") | Out-Null $mail.Send()

    Так же можно посмотреть ссылки:

    http://stackoverflow.com/questions/1453723/create-outlook-email-draft-using-powershell

    http://www.andyparkhill.co.uk/2010/08/send-outlook-email-via-powershell.html

    • Помечено в качестве ответа KazunEditor 25 апреля 2011 г. 13:12
    21 апреля 2011 г. 10:55
    Отвечающий
  • а если мейл сервер просит авторизоваться это прокатит?
    21 апреля 2011 г. 12:39
  • а если мейл сервер просит авторизоваться это прокатит?
    Если в outlook все настройки и учетные данные верны и сохранены,то все будет нормально.В обратном случае придется указывать недостающие параметры.
    21 апреля 2011 г. 12:41
    Отвечающий
  • >Есть ли другие подобные команды

    вы можете написать скрипт, или воспользоваться уже готовым, который будет отсылать сообщение, авторизуясь на smtp-сервере (при этом никакого Outlook не требуется)

    http://xaegr.wordpress.com/2008/05/22/send-smtpmailps1_v2/

    http://xaegr.wordpress.com/2008/07/21/send-mail-from-script/


    my blog: http://shserg.ru/
    • Помечено в качестве ответа KazunEditor 25 апреля 2011 г. 13:11
    22 апреля 2011 г. 7:30
  • >Есть ли другие подобные команды

    вы можете написать скрипт, или воспользоваться уже готовым, который будет отсылать сообщение, авторизуясь на smtp-сервере (при этом никакого Outlook не требуется)

    http://xaegr.wordpress.com/2008/05/22/send-smtpmailps1_v2/

    http://xaegr.wordpress.com/2008/07/21/send-mail-from-script/


    my blog: http://shserg.ru/
    Зачем ? Когда это делает прекрасно Send-MailMessage и основан он на тех же классах .NET.И наверно пароль он сам угадывает? =)
    22 апреля 2011 г. 12:51
    Отвечающий
  • >И наверно пароль он сам угадывает? =)

    не совсем понял шутку юмора ;)

    Но, действительно, можно послать письмо при помощи командлета Send-MailMessage, указав необходимые данные для авторизации на SMTP-сервере при помощи параметра -Credential этого самого командлета.


    my blog: http://shserg.ru/
    22 апреля 2011 г. 13:04
  • >И наверно пароль он сам угадывает? =)

    не совсем понял шутку юмора ;)

    Но, дествительно, можно послать письмо при помощи командлета Send-MailMessage, указав необходимые данные для авторизации на SMTP-сервере при помощи параметра -Credential этого самого командлета.


    my blog: http://shserg.ru/

    Вопрос автора - "Попробовал использовать команду send-mailmessage, но она не подходит потому что надо вручную вводить как минимум пароль мейл аккоунта."

    22 апреля 2011 г. 13:05
    Отвечающий
  • ну, так можно вручную и не вводить, а указать явно в скрипте, либо хранить в файле (тогда скрипт должен будет всякий раз считывать этот пароль из файла)

    ЗЫ Вариаты того, как это можно сделать см. здесь: http://social.technet.microsoft.com/Forums/ru-RU/scrlangru/thread/29141433-40c1-4a0e-97a5-298e8da11edb

     


     

    my blog: http://shserg.ru/


    • Помечено в качестве ответа KazunEditor 25 апреля 2011 г. 13:12
    22 апреля 2011 г. 13:07
  • ну, так можно вручную и не вводить, а указать явно в скрипте, либо хранить в файле (тогда скрипт должен будет всякий раз считывать этот пароль из файла)

    ЗЫ Вариаты того, как это можно сделать см. здесь: http://social.technet.microsoft.com/Forums/ru-RU/scrlangru/thread/29141433-40c1-4a0e-97a5-298e8da11edb

     


     

    my blog: http://shserg.ru/


    В случае если безопасность напрочь отсутствует можно применить и подобные методы,как и хранить пароль в Outlook.
    22 апреля 2011 г. 13:17
    Отвечающий
  • >В случае если безопасность напрочь отсутствует можно применить и подобные методы,как и хранить пароль в Outlook.

    я бы не стал говорить про "напрочь отсутствующую безопасность". Пароль для авторизации на smtp-сервере (согласно условиям задачи) должен быть предоставлен скриптом без интрактивного взаимодействия с пользователем. Приведенные мной примеры эту задачу решают. Разграничить доступ к файлу, в котором хранится пароль для скрипта, или к профилю пользователя, в котором хранится пароль Otlook можно при помощи NTFS, например. Для того, чтобы избежать перехвата пароля в процессе общения между почтовым клиентом и сервером, можно использовать ssl.


    my blog: http://shserg.ru/
    22 апреля 2011 г. 13:36