2013-04-15 8 views
2

У меня есть сценарий оболочки, в котором я хочу отправить ему электронное письмо. Я выполняю этот скрипт на окнах через cygwin. Я установил адрес электронной почты на моей машине. Однако мне сложно сработать. Пожалуйста, дайте мне знать, что является самым простым способом отправки электронной почты через командную строку cygwin.Отправка электронной почты через Cygwin

Мой файл ssmtp.conf является:

mailhub=smtp.gmail.com:587 
FromLineOverride=YES 
rewriteDomain=gmail.com 
[email protected] 
UseTLS=YES 
AuthUser=userid 
AuthPass=password 

и email.conf файл имеет:

SMTP_SERVER = 'smtp.gmail.com' 
SMTP_PORT = '25' 
MY_NAME = 'ABC' 
MY_EMAIL = 'emailaddress' 
REPLY_TO = 'emailaddress' 
USE_TLS = 'true' 
ADDRESS_BOOK = '&/email.address.template' 
SMTP_AUTH = 'LOGIN' 
SMTP_AUTH_USER = 'userid' 
SMTP_AUTH_PASS = 'password' 

Я использую следующую команду, чтобы отправить по электронной почте: эхо "почты тело" | электронную почту - s "subject" [email protected] Однако, я получаю следующую ошибку: email: FATAL: Не удалось подключиться к серверу: smtp.gmail.com на порту: 25: операция не разрешена

Пожалуйста, помогите.

+0

Работает ли 'nc smtp.gmail.com 25'? Если нет, то у вас проблема с брандмауэром. – ams

+0

Если у cygwin нет 'nc', то' telnet smtp.gmail.com 25' делает то же самое. – ams

+0

ни nc, ни telnet не были на машинке ... Я даже не нашел для них пакет в cygwin. –

ответ

1

установить и настроить ssmtp пакет.

Создать /bin/mail с этим содержимым:

#!/bin/sh 
# 
# copyright 2016 Gene Pavlovsky [http://www.razorscript.com] 
# 
# mail: mail-like wrapper script for sendmail 

SENDMAIL=/usr/sbin/ssmtp 

usage() 
{ 
    { 
    echo "Usage: $(basename $0) [-s "subject"] [-f from-addr] [to-addr]..." 
    echo 
    echo "Sends mail." 
    echo 
    echo "Options:" 
    echo -e " -s\tsubject (quote subjects containing spaces)" 
    echo -e " -f\tfrom address" 
    } >&2 
    exit 2 
} 

while test $# -gt 0; do 
    case $1 in 
    -s) 
      shift 
      test $# -eq 0 && usage 
      subj=$1 
    ;; 
    -f) 
      shift 
      test $# -eq 0 && usage 
      from=$1 
    ;; 
    -*) 
     usage 
    ;; 
    *) 
      rcpt+=("$1") 
    ;; 
    esac 

    shift 
    test "$end_options" = yes && break 
done 

test ${#rcpt} -eq 0 && usage 

{ 
    test "$from" && echo From: $from 
    test "$subj" && echo Subject: $subj 
    echo 
    exec /bin/cat 
} | "$SENDMAIL" "${rcpt[@]}" 

Не забудьте chmod 755 /bin/mail.

Смежные вопросы