fetchsetup
上传用户:xxcykj
上传日期:2007-01-04
资源大小:727k
文件大小:3k
源码类别:

Email客户端

开发平台:

Unix_Linux

  1. #!/bin/sh
  2. MSG() {
  3. cat << EOF
  4. # Fetchsetup is a shell script for creating a .fetchmailrc file,  
  5. # that will be used by the program "fetchmail" to connect to your 
  6. # mail domain and retrieve your mail. 
  7. # This script is linux specific, so it may not work on another system.
  8. # Kent Robotti <krobot@erols.com> (3-31-99)
  9. EOF
  10. }
  11. if [ ! "$UID" = "0" ]; then
  12. echo "[$LOGNAME] You need to be [root] to run this script."
  13. echo "You could login: root"
  14. echo "You could also try one of these: # sudo fetchsetup"
  15. echo "                                 # su -c fetchsetup"
  16. exit 1
  17. fi
  18. MSG
  19. echo -n "Continue? (Y/n) : "
  20. read ans
  21. if [ "$ans" = "n" -o "$ans" = "N" ]; then
  22. echo "Cancelled."
  23. exit 0
  24. fi
  25. stty erase "^?" 2>/dev/null
  26. echo
  27. echo "Remote mail site?: pop.boo.com   <Your service providers mail domain name>"
  28. echo -n "Remote mail site?: "
  29. read SITE
  30. echo
  31. echo "Protocol?: pop3   <My service provider uses the 'pop3' mail protocol>"
  32. echo "Protocol?: auto   <If not sure put: auto>"
  33. echo "Choices: apop auto etrn imap imap-gss imap-k4 kpop pop2 pop3 rpop sdps" 
  34. echo -n "Protocol?: "
  35. read PROTO
  36. echo
  37. echo "Remote username?: jerry   <My username or login is jerry>"
  38. echo -n "Remote username?: "
  39. read USR
  40. echo
  41. echo "Remote password?: ?       <What's the password for?: $USR>"
  42. echo -n "Remote password?: "
  43. read PASS
  44. echo
  45. echo -n "Create $HOME/.fetchmailrc file? (Y/n) : "
  46. read ans
  47. if [ "$ans" = "n" -o "$ans" = "N" ]; then
  48. echo
  49. echo "Fetchsetup cancelled."
  50. echo
  51. exit 0
  52. fi
  53. echo 'poll "'$SITE'"' > $HOME/.fetchmailrc
  54. echo "protocol $PROTO" >> $HOME/.fetchmailrc
  55. echo 'username "'$USR'"' >> $HOME/.fetchmailrc
  56. echo 'password "'$PASS'"' >> $HOME/.fetchmailrc
  57.  
  58. PROCMAIL=`type -all procmail | sed -n "1 p" | cut -d' ' -f3`  
  59. SENDMAIL=`type -all sendmail | sed -n "1 p" | cut -d' ' -f3`  
  60. if [ ! "$PROCMAIL" = "" ]; then
  61. echo 'mda "'$PROCMAIL -d %s'"' >> $HOME/.fetchmailrc
  62. MDA="1"
  63. elif [ ! "$SENDMAIL" = "" ]; then
  64. echo 'mda "'$SENDMAIL %s'"' >> $HOME/.fetchmailrc
  65. MDA="2"
  66. else
  67. MDA="3"
  68. fi 
  69. echo >> $HOME/.fetchmailrc
  70. echo
  71. echo "This is your $HOME/.fetchmailrc file."
  72. chmod 600 $HOME/.fetchmailrc
  73. echo
  74. cat $HOME/.fetchmailrc
  75. if [ ! "$MAIL" = "" ]; then
  76. echo "Fetchmail will retrieve your mail and put it in:"
  77. echo "$MAIL"
  78. if [ ! -f "$MAIL" ]; then
  79. touch $MAIL 2>/dev/null
  80. chmod 600 $MAIL 2>/dev/null
  81. fi
  82. fi
  83. echo
  84. if [ "$MDA" = "1" ]; then
  85. echo "I put that (m)ail (d)elivery (a)gent in .fetchmailrc"
  86. echo "because i found it on your system, this doesn't mean" 
  87. echo "it's correct or the one you want to use."
  88. echo
  89. echo "The first time you run fetchmail, you should run it"
  90. echo "this way: # fetchmail -k"
  91. echo
  92. elif [ "$MDA" = "2" ]; then
  93. echo "You seem to have sendmail, sendmail will be used"
  94. echo "as the (m)ail (d)elivery (a)gent for fetchmail."
  95. echo
  96. echo "WARNING! There's no way to know if sendmail is set up"
  97. echo "properly for local mail delivery, so the first time you"
  98. echo "run fetchmail run it this way: # fetchmail -k"
  99. echo
  100. echo "If the mail that fetchmail retrieves is not put in your mailbox," 
  101. echo "you'll know that sendmail is not set up properly for the delivery" 
  102. echo "of local mail."
  103. echo
  104. elif [ "$MDA" = "3" ]; then
  105. echo "I Don't know what (m)ail (d)elivery (a)gent you're going to use."
  106. echo "You need a <mda> to deliver the mail to you, after <fetchmail> retrieves it."
  107. echo
  108. echo "Put the <mda> in your .fetchmailrc file, like below."
  109. echo "password $PASS"
  110. echo mda '"/usr/bin/procmail -d %s"'
  111. echo mda '"/usr/sbin/sendmail %s"'
  112. echo
  113. echo "The first time you run fetchmail, you should run it"
  114. echo "this way: # fetchmail -k"
  115. echo
  116. fi