매우 유사한 이메일을 자동으로 보내고 한 단어를 변경하려면 어떻게 해야 합니까?

매우 유사한 이메일을 자동으로 보내고 한 단어를 변경하려면 어떻게 해야 합니까?

예를 들어, "X 기분은 어떤가요?"와 같은 이메일을 여러 개 보내고 싶다면 도착하다[이메일 보호됨](Quora는 내가 그곳에서 매우 유사한 질문을 하는 것을 허용하고 심지어 어느 정도 권장합니다).

그리고 X를 대체하고 싶은 단어 사전이 주어졌나요?

나는 mailx readme에 다음과 같은 작은 섹션이 있다는 것을 알고 있습니다.스크립트를 사용하여 이메일을 보내는 방법

답변1

쉘을 통해 이 작업을 수행한다는 의미라면 가능합니다. 결과는 다를 수 있지만 작업은 셸을 통해 메시지를 전달하기 위해 이전에 작성한 구조와 유사합니다.

바라보다:http://www.akamay.net/PUBLIC/massmail.tar

이 스크립트는 3개의 파일을 사용합니다.

  1. 자격 증명 파일 - 실제 구성 파일입니다. /tmp에 넣어보세요

    HEAD_FROM="BSDUSER"                   # Mail from:
    HEAD_TO="${FIELD1[$a]}"             # Rcpt to:
    HEAD_REPLY-TO="[email protected]"     # Reply to :)
    HEAD_BCC-TO="[email protected]"          # BCC to
    HEAD_SUBJECT="NOTICE - Personalize mass mail for ${FIELD3[$a]}"
    HEAD_PRIORITY="High"                  # Low / Medium / High
    HEAD_IMPORTANCE="3"                   # Importance
    HEAD_MIME-VERSION="1.1"               # MIME Version
    HEAD_CONTENT-TYPE="text/plain"        # Plain or HTML
    TEAM_CONTACT="[email protected]"      # Signature @ EOF
    INTERVAL="2"                          # Sleep sec. per send
    
  2. 소유자 파일 - ":"으로 구분된 필드 값을 포함하는 파일입니다.

    john:Tuesday:john:[email protected]
    sally:Wednesday:sally:[email protected]
    lisa:Friday:lisa:[email protected]
    
  3. 실제 대량 메일링 스크립트. 스크립트는 매우 간단합니다. 그것이 하는 일은 주어진 필드(field1,2,3 등)의 값으로 for 루프를 사용하여 구성 파일을 구문 분석하는 것입니다. 내가 한 일은 CSV 파일의 값을 바꾸고 이를 올바른 값으로 실행 가능한 텍스트 형식으로 저장한 다음 모든 것을 sendmail로 파이프하는 것이었습니다.

    F1=`cat $2 | cut -d: -f1 | perl -ne 'chomp;print" $_"' | sed 's/^[ \t]*//;s/[ \t]*$//'`
    F2=`cat $2 | cut -d: -f2 | perl -ne 'chomp;print" $_"' | sed 's/^[ \t]*//;s/[ \t]*$//'`
    F3=`cat $2 | cut -d: -f3 | perl -ne 'chomp;print" $_"' | sed 's/^[ \t]*//;s/[ \t]*$//'`
    F4=`cat $2 | cut -d: -f4 | perl -ne 'chomp;print" $_"' | sed 's/^[ \t]*//;s/[ \t]*$//'`
    F5=`cat $2 | cut -d: -f5 | perl -ne 'chomp;print" $_"' | sed 's/^[ \t]*//;s/[ \t]*$//'`
    
    echo -e "#!/bin/bash" > $TMP/notify_exec
    echo -e "FIELD1=($F1)\nFIELD2=($F2)\nFIELD3=($F3)\nFIELD4=($F4)\nFIELD5=($F5)\n" >> $TMP/notify_exec
    echo -e "for ((a=0;a<\${#FIELD1[*]};a++))\ndo" >> $TMP/notify_exec
    echo -e "echo \"From:$C_F" >> $TMP/notify_exec
    echo -e "To:$C_T\nReply-to:$C_RT\nBcc-to:$C_BT\nSubject:$C_S\nPriority:$C_P" >> $TMP/notify_exec
    echo -e "X-Mail-Priority:$C_I\nMime-Version:$C_M\nContent-Type:$C_C\n$C_MSG\n\n\n" >> $TMP/notify_exec
    echo -e "Generated using: $0 - Got questions? E-Mail us at: $C_TM" >> $TMP/notify_exec
    echo -e "\" | /bin/sendmail -t -oi" >> $TMP/notify_exec
    echo -e "sleep $C_SL" >> $TMP/notify_exec
    echo -e "done\nexit 0" >> $TMP/notify_exec
    chmod +x $TMP/notify_exec
    

맞춤 응답을 위해 mailx를 사용하는 데 몇 가지 문제가 있었기 때문에 메시지를 전달하기 위해 sendmail로 전환했는데 훌륭하게 작동했습니다.

답변2

이것메일 병합 확장썬더버드는 이 문제를 해결해야 합니다.

관련 정보