쉘 스크립트로 이메일의 유효성 검사를 시도합니다. 메일의 유효성을 검사하는 간단한 예가 있습니까? 구글 물었지만, 그냥 쓰레기와 PHP (또한 쓰레기 .. 발견).배시로 이메일 확인
감사합니다.
쉘 스크립트로 이메일의 유효성 검사를 시도합니다. 메일의 유효성을 검사하는 간단한 예가 있습니까? 구글 물었지만, 그냥 쓰레기와 PHP (또한 쓰레기 .. 발견).배시로 이메일 확인
감사합니다.
이런 뜻입니까?
#!/bin/bash
# check for valid usage
if [ x$1 = 'x' ]
then
echo "Usage: $0 <email address>"
exit 1
fi
# grabbing fields
user=`echo $1 | cut -f1 -d\@`
host=`echo $1 | cut -f2 -d\@`
mxhost=`host -t mx $host | cut -f7 -d\ `
len=`echo $mxhost | wc -c`
len=`expr $len - 2`
mxhost=`echo $mxhost | cut -b1 -$len`
# compose email commands
echo -ne "helo test.com\r\n" > mailcmd
echo -ne "mail from: test\@test.com\r\n" >> mailcmd
echo -ne "rcpt to: $1\r\n" >> mailcmd
echo -ne "quit\r\n" >> mailcmd
# check for mail results
mailresult=`cat mailcmd | nc $mxhost 25| grep ^550 | wc -c`
if [ $mailresult -eq 0 ]
then
echo $1 "is valid"
exit 0
else
echo $1 "is not valid"
exit 1
fi
# clean up
rm mailcmd
명시 적으로 #에 떠들썩한 파티를 명시하는 경우! 라인을 사용하면 정규식을 사용할 수 있습니다 :
bash로 프로그래밍하는 것이 중요하다면 맨 페이지를 끝까지 읽으십시오. 두번. Bash FAQ도 읽으십시오.
스크립트 유효성 검사
이 스크립트의 의미는 이메일을 보내기 전에 유효한지 또는 그렇지 않은지 확인하는 것입니다.
이 스크립트는 이메일 목록을 확인합니다. http://www.vivaolinux.com.br/script/Simples-Verificador-de-Email-Gmail
아래 코드를 참조하십시오에서 예제 코드를 들어
:
#!/bin/bash
#:
#: e-mail.verify.sh
#:
#: Date: 2011/14/12 13:14 PM IST
#: Author: Louay _at_ [email protected]
#: Discription: Verify (or) Validate the Hotmail Adresses.
#:
#:
#: First we create a Expect script to be sourced for us.
if [ ! $# == 1 ]
then
echo "Invalid Args $0 Filename"
exit 0
fi
#: Verifying the Hotmail adressess.
#: First verify the network Connections
C_R="\e[01;31m" ## Colors
C_B="\e[01;30m"
C_G="\e[01;32m"
C_END="\e[00m"
SMTPSERV=`host -t mx hotmail.com |grep 5 | grep mx2.hotmail.com |cut -d " " -f 7| sed 's/\.$//'`
ping -c2 $SMTPSERV >/dev/null
if [ "$?" -eq 0 ]
then
echo -e "Internet Connection" "\t\t\t\t\t\t$C_G[ OK ]$C_END"
echo -e "$SMTPSERV is AVAILABLE."
echo -n "Verifing"
for ((i=0; i<5; i++))
do
echo -n ".."
sleep 1
done
echo
else
echo -e "Internet Connection:" "\t\t\t\t\t\t$C_R[ FAIL ]$C_END" ""
echo -e "$SMTPSERV is Unavialable."
echo -e "Check your Network settings."
exit 0
fi
COUNT=0
RM_FILE="validemails.txt"
rm -f $RM_FILE
cat $1 | while read LINE; do
{
MAFR="MAIL FROM: <[email protected]>"
MATO="RCPT TO: <$LINE>"
#: ^variablies declared for not get escaped in the next cat command, where
#: we set the $MAFR in the expect script.
cat <<__EOF> e-veri
#!/bin/expect
#:
#: Date: 2011/14/12 01:14 PM
#: Author: Louay Mshelim_at_ [email protected]
#: Discription: Expect Script to Verify/Validate the Hotmail Adresses.
#:
set VMAFR "$MAFR"
set VMATO "$MATO"
spawn nc -C mx4.hotmail.com 25
expect "Sending"
send "HELO mx4.hotmail.com\r"
expect "OK"
send "\$VMAFR\r"
expect "OK"
send "\$VMATO\r"
expect "250"
send "quit\r"
expect eof
__EOF
#: Running the expect script and extracting the Results.txt
expect e-veri > Results.txt
grep 550 Results.txt >/dev/null
if [ "$?" -eq 0 ]
then
echo -e $LINE >> invalid.txt #invalid E-mails
else
echo -e "$LINE" >> validemails.txt
fi
}
done
echo -e "Valid E-mail have been saved to $C_R[ validemails.txt ]$C_END"
#: END
후자의 스크립트에 대한 나의 어떤 제안이 알고 nslookup을을 사용하여 인증없이 검사를 받아 여러 서버로 작업을 확인 사이트에서.
나는 기여한 것으로 알고 공동 작업하기를 희망합니다.
감사합니다.
,
read emailId
if echo "${emailId}" | grep '^[a-zA-Z0-9]*@[a-zA-Z0-9]*\.[a-zA-Z0-9]*$' >/dev/null; then
echo Valid
else
echo Not Valid
fi
당신이 "이메일을 확인"무엇을 의미합니까? – mouviciel
은 다른 스크립트로 일부 입력의 유효성을 검사하기 만하면됩니다. 이 대부분이 온다 같은 : "[email protected]" 하지만 때로는 온 "사용자"아무것도없이 @ ... [이메일 체크 정규식의 – fwaechter
가능한 중복 그들을 밖으로 정렬하려면 bash 스크립트] (http://stackoverflow.com/questions/2138701/email-check-regular-expression-with-bash-script) –