email.1.in
上传用户:knt0001
上传日期:2022-01-28
资源大小:264k
文件大小:15k
源码类别:

Email客户端

开发平台:

C/C++

  1. .TH EMAIL 1
  2. .SH NAME
  3. email - Encrypted SMTP email via Command line
  4. .SH SYNOPSIS
  5. email [options] recipient1,recipient2,recipient3,...
  6. .SH DESCRIPTION
  7. Email is a command line email client similiar to 'mailx'.
  8. Added features make this a more advanced client for
  9. sending email via the command line.  Email works with
  10. sendmail, just as 'mailx'
  11. does, but email also allows sending to remote smtp
  12. servers for your email delivery.  It also works with
  13. GPG for encrypting and signing the emails on the fly.
  14. Email also incorporates a few other features as well.
  15. These features include signature files with wildcard
  16. options to specify the data, time, day, version,
  17. system, and even a 'fortune' with the help of the
  18. .I 'fortune' 
  19. command.  Email also supports a very
  20. configurable address book.  This way you can specify
  21. a persons name with an email address and also place
  22. a group of names into one group for sending.
  23. Email also supports attachments.  It will accept N attachments
  24. via a command line option and encode them with Base64 before
  25. sending them with the email.  
  26. Email works with a configuration file named email.conf
  27. which is found in @sysconfdir@/email/email.conf
  28. although can be changed by specifying the --sysconfdir option
  29. during the ./configure.  If you do not have or want a 
  30. configuration file, you can specify the -r option to 
  31. specify your smtp server and this will allow you to bypass
  32. using a configuration file and use default values. If you
  33. specify the -r option (listed below) and you do have a 
  34. configuration file, it will still use the configuration
  35. file but override the SMTP_SERVER variable with what is
  36. used at the command line.  
  37. .SH OPTIONS
  38. There are a few possible options to email.  I have listed
  39. them in order of relevance of usage:
  40. .TP
  41. .B --help module | -h "Module of Help"
  42. This option can be specified with a module of help
  43. topic, or without one.  Without a module of help topic,
  44. it will just print a standard help screen with all
  45. your possible options.  With a module of help option,
  46. it will display a more detailed discription of that
  47. module.
  48. Modules are determined by command line switches.
  49. For instance:  if you want to know about the 'encrypt'
  50. command line option, you would specify --help 'encrypt'
  51. or --help 'e' and help will display the correct module
  52. help section.
  53. The Help is not statically programmed into email.
  54. Instead it is a file in email's home directory called
  55. 'email.help'.  It is updated regularly and will always
  56. be rewritten with every release of email.
  57. .TP
  58. .B --verbose | -V
  59. This option will display the progress of communicating
  60. with the SMTP server. A pretty progress bar will be 
  61. displayed when data is sent. This option is replacing
  62. the old -quiet option that would do the exact opposite.
  63. .TP
  64. .B --blank-mail | -blank-mail | -b
  65. Use this option if you would like to send a blank email
  66. from the command line.  This is good if you just want to 
  67. send a message with only the headers and no content.
  68. .TP
  69. .B --subject subject | -subject subject | -s "Subject of Email"
  70. This option should be rather obvious.  You specify the
  71. subject of the email with this option.  If you are not
  72. redirecting to standard input and you do not specify a
  73. subject, email will ask you for the subject.  Null
  74. subjects are allowed.
  75. .TP
  76. .B --encrypt | -encrypt | -e  
  77. This options allows you to encrypt your email message
  78. using 'gpg'. GPG can be obtained by going to:
  79. .URL http://www.gnupg.org.
  80. When this option is specified, it will get the first
  81. recipient from the recipient list and it will encrypt
  82. the message using their key.  This key MUST be present
  83. in order for the encryption to work properly.
  84. .TP
  85. .B --sign | -sign
  86. This options will let you sign your emails
  87. on the fly... It uses the 'gpg --detach-sign' option.
  88. It will 'sign' the email with your public key.
  89. .TP
  90. .B --cc recipient | -cc recipient1,recipient2,recipient3,...
  91. This option allows you to "curtosy copy" a list of
  92. recipients. Recipients can be from the address book
  93. or just plain email addresses.  They should be comma
  94. delimited just as the main recipients will be.  CC
  95. recipients *will* be posted in the headers and read
  96. by email clients.
  97. .TP
  98. .B --bcc receipient | -bcc recipient1,recipient2,recipient3,...
  99. Same as the --cc option, but these recipients will
  100. .B *not* 
  101. be posted in the headers of the email.  This
  102. is a positive solution to "secretly"
  103. copy someone on the email without the other recipients
  104. knowing so (Managers usually bcc their boss when
  105. sending an email to you about your performance and
  106. you'll never know it 
  107. .B)
  108. )
  109. .TP
  110. .B --attach file | -a file
  111. Attach a binary file.  This option will allow you 
  112. to attach N files to your email and will be base64
  113. encoded upon delivery.  This option is helpful if
  114. you need to send any type of file that is not plain
  115. ascii text. This option can be used multiple times
  116. to add multiple files to attach.
  117. .TP
  118. .B --smtp-server server | -r server
  119. This option will let you override the smtp server
  120. that is specified in the email.conf file... You can
  121. use this option if you do not have an email.conf
  122. file.  It will allow you to use email without a 
  123. configuration file. A helpful option to add with
  124. this option would be the --smtp-port option, 
  125. however, it is not needed.
  126. .TP
  127. .B --smtp-port port | -p port
  128. This option works well with the above option as it
  129. will allow you to bypass the configuration file and 
  130. specify a port on the command line.  This is helpful
  131. if you don't have a configuration file yet need to 
  132. specify an smtp server and a port.  The default port
  133. is always port 25, so that if you don't specify this
  134. option, and you don't have an email.conf file, it will
  135. default to port 25 for you.
  136. .TP
  137. .B --smtp-auth type | -m type
  138. You must specify this option to use SMTP AUTH if you
  139. aren't using a configuration file.  'type' is the type
  140. of AUTH your server lets you use.  There are two supported
  141. AUTH types with email: PLAIN and LOGIN.  
  142. .TP
  143. .B --smtp-user user | -u user
  144. If you don't want to keep your SMTP username in your
  145. email.conf file (SMTP_AUTH_USER), then you can use this
  146. command line option to specify it.
  147. .TP
  148. .B --smtp-pass pass | -i pass
  149. If you don't want to keep your SMTP password in your
  150. email.conf file (SMTP_AUTH_PASS), then you can use this
  151. command line option to specify it.
  152. .TP
  153. .B --from-name name | -n name
  154. This option will override MY_NAME in email.conf.
  155. This is what the recipient will see in the from
  156. field of their email client.
  157. .TP
  158. .B --from-addr addr | -f addr
  159. This option will override MY_EMAIL in email.conf.
  160. This is what the recipient will see in the from
  161. field of their email client as your email address.
  162. .TP
  163. .B --conf-file file
  164. Use this option to specify a configuration file other
  165. than ~/.email.conf or @sysconfdir@/email/email.conf.  
  166. .TP
  167. .B --header string | -H string,string,string,...
  168. If you would like to append headers to the message 
  169. that you are sending, you can use this option multiple
  170. times and specify the header you would like to append
  171. as well as delimit each header string with a comma for
  172. multiple headers.
  173. An example of a header string would look like:
  174. --header "X-My-Header: Stuff goes here"
  175. .TP
  176. .B --timeout secs | -x secs
  177. Set a timeout (in seconds) on the socket. This is
  178. helpful if you would like to have the client stop
  179. trying to send/recv data from the SMTP server if
  180. it hangs after a period of time.
  181. .TP
  182. .B --high-priority | -o
  183. This options allows you to take advantage of using
  184. the priority option used by some email clients.
  185. If the option is specified when sent to a user
  186. using MS Outlook, a small exclimation mark will
  187. be next to the message as to let the user know
  188. this email is important.
  189. .TP
  190. .B --html
  191. This option allows you to send html emails. As
  192. of right now, you need to write your own html.
  193. .TP
  194. .B --gpg-pass , -g pass
  195. If you don't want to keep your GPG password in your
  196. email.conf file (GPG_PASS), then you can use this 
  197. command line option to specify it.
  198. .TP
  199. .B --tls
  200. If you'd like to use TLS/SSL communication with the
  201. smtp server, use this option (if it's not already
  202. set in the config file.)
  203. .TP
  204. .B --no-encoding
  205. If you don't want eMail to automatically use UTF-8 encoding when finding
  206. non ascii characters, use this option.
  207. .SH CONFIGURATION
  208. Configuration of email is fairly simple.  Just open
  209. the default configuration file.  If you did not specify
  210. an email home directory during your compilation of email
  211. then this will be in @sysconfdir@/email and the file
  212. is called 'email.conf'.  The configuration options are
  213. listed below.  
  214.   SMTP_SERVER       : Server name, or IP
  215.   SMTP_PORT         : Servers port number
  216.   SENDMAIL_BIN      : Specify the sendmail binary path and options
  217.   MY_NAME           : Specify your Name
  218.   MY_EMAIL          : Specify your email address
  219.   REPLY_TO          : Seperate reply to address
  220.   SIGNATURE_FILE    : Your signature file
  221.   SIGNATURE_DIVIDE  : A design for a divider
  222.   ADDRESS_BOOK      : Location of your address book file
  223.   SAVE_SENT_MAIL    : Directory to save email.sent file
  224.   GPG_BIN           : Full path to gpg binary
  225.   GPG_PASS          : Optional passphrase for gpg
  226.   TEMP_DIR          : Specify where to store temp files
  227.   SMTP_AUTH         : Specify what type of authentication 
  228.                       for your smtp server.
  229.   SMTP_AUTH_USER    : Specify a username login for SMTP AUTH
  230.   SMTP_AUTH_PASS    : Specify a password for SMTP AUTH
  231.   USE_TLS           : Boolean (true/false) if you want to use TLS/SSL
  232.   VCARD             : Specify a vcard to attach to each message.
  233. .br
  234. You can choose to use sendmail instead of a remote smtp
  235. server.  All you have to do is input the path of where
  236. you have sendmail located in the SENDMAIL_BIN variable.
  237. You may also provide options to pass sendmail.  The best
  238. values for this would be /usr/lib/sendmail -t -i. If you
  239. have both SENDMAIL_BIN and SMTP_SERVER uncommented and
  240. both have values, then SMTP_SERVER will take presedence
  241. over SENDMAIL_BIN and 'email' will try to contact the
  242. SMTP server provided. 
  243. You can create your own email.conf file in your home
  244. directory.  It must be a hidden file.  For instance:
  245. ~/.email.conf
  246. Email will look in your home directory before it looks
  247. for a global configuration file.  The easiest thing
  248. to do is simply copy your global config file to your
  249. home directory as .email.conf and edit it as needed.
  250. If you do not have a global config file or a personal
  251. config file, email will choose defaults according to
  252. your current login on the system. So a configuration
  253. file is not manditory, it just helps you customize
  254. email.
  255. You can look at the basic configuration file for more
  256. information on the configuration of 'email'.
  257. .SH SMTP AUTH
  258. Email now support SMTP AUTH.  I will briefly describe
  259. how it works here.
  260. To use email with an SMTP server that expects authentication
  261. you must set a few options in your email.conf file. These
  262. options are: SMTP_AUTH, SMTP_AUTH_USER, SMTP_AUTH_PASS.
  263. SMTP_AUTH:
  264.     This option must be set to one of the two: LOGIN or
  265.     PLAIN. LOGIN and PLAIN are standard RFC compliant SMTP AUTH
  266.     protocols.  If you are unsure which options to choose, 
  267.     ask your ISP or SMTP Administrator if any of these are 
  268.     supported. Usually it's a safe bet to use LOGIN for 
  269.     SMTP AUTH.  Most AUTH servers support LOGIN.
  270. SMTP_AUTH_USER:
  271.     If you're using SMTP AUTH, please specify your username
  272.     here.  This option is
  273. .B MANDITORY
  274. if you're using SMTP AUTH.
  275. SMTP_AUTH_PASS:
  276.     You can choose to set this option or not.  However, if
  277.     you don't set this option, email will prompt you for your
  278.     password before proceeding.  So if you're using email from
  279.     a cron job and don't expect any interaction with email,
  280.     please set this option!
  281. USE_TLS:
  282.     This option allows you to use TLS/SSL to communicate with
  283.     your SMTP server. This is the most basic use of TLS/SSL
  284.     possible. Please be advised that not much is done to 
  285.     verify the certificate from the server. Also, currently
  286.     there is no support for providing your own certificate for
  287.     the server to authenticate since typical TLS does not do this.
  288.     
  289. .SH ENVIRONMENT VARIABLES
  290. Two environment variables can be set that email will
  291. check.  
  292. EDITOR will allow you to specify your favorite
  293. editor to use with email for constructing messages. If
  294. this variable is not set, it will default to vi.  
  295. TMPDIR can be set to specify a temporary directory to
  296. place your temp files while email is working.  This is
  297. analogous to the TEMP_DIR variable in email.conf.  
  298. 'email' will check TEMP_DIR first, then check your 
  299. environment variable TMPDIR for a temporary directory.
  300. If neither contains a value, email defaults to /tmp.
  301. .SH ADDRESS BOOK
  302. The address book for email takes on the format as
  303. described below.  It will check for any syntax errors
  304. in the address book and completely stop email if it
  305. finds any, so try to keep the same gramatical syntax.
  306. A single entry in the address book will look like:
  307.   single: Tim = tim@somedomain.org   #Comments allowed
  308. You are welcome to use a whole name with spaces as
  309. long as you use a single quote closing the name
  310. with another single quote.  You may also use double
  311. quotes in place of the single quotes.  Example:
  312.    single: 'Tim Gahan' = tim@somedomain.org
  313. Groups are allowed and can only consist of comma
  314. delimited single entries from the file and may
  315. contain spaces.  You can *not* recursively specify
  316. groups.  You may, however specify single email addresses
  317. that are not part of the address book.
  318. If you would like to break one line into two lines, you
  319. should use the '\' as a newline escape mark. Examples:
  320.    group: Mygroup = 'Tim Gahan', John, Sam, Bob, \
  321.                        tookie@somedomain.org
  322.                         
  323. This example will specify a group with the single entries
  324. of 'Dean Jones', John, Sam, Bob, and the unadded email
  325. address of 'software@somedomain.org'.
  326. .SH SIGNATURE FILE
  327. The signature file is specified in the configuration
  328. file.  You will also have the option to specify a
  329. signature divider.  This is by default '---'.  This just
  330. divides the signature file from the rest of the email.
  331. There are a few wild cards that you can specify in
  332. writing your signature file that will allow your signature
  333. file to obtain dynamic options when sending your email.
  334. .TP 
  335. %v    
  336. This will show the version of email
  337. .TP 
  338. %t    
  339. This will show the time the email was sent
  340. .TP 
  341. %d    
  342. This will display the date the email was sent
  343. .TP 
  344. %c    
  345. This will display a completely formated date and time
  346. .TP 
  347. %h    
  348. This will display the host type
  349. .TP 
  350. %f    
  351. This will display the output of the 'fortune' command
  352. .SH SIGNATURE EXAMPLE
  353. Example of a signature file is below:
  354.     This email was sent with 'email %v'
  355.     Sent on host: %h
  356.     At the time : %c
  357.     Your fortune for today is:
  358.     %f
  359. This will end up replacing the %v, %h, %c, and %f with
  360. their corresponding equivalents above respectively.
  361. .SH EXAMPLES OF USAGE
  362. .TP 
  363. # Redirect your message to email
  364. email -s "Sending this.txt" tim@somedomain.org < this.txt
  365. .TP 
  366. # Make your message with email
  367. email -s "Subject" tim@somedomain.org
  368. .TP 
  369. # Encrypt and email to "Dean Jones"
  370. email -s "Encryted" -encrypt tim@somedomain.org
  371. .TP 
  372. # Multiple Recipients from address book
  373. email -s "no subject" Dean,Jeff,Tom,Bob -cc Josh,Carl
  374. .TP
  375. # Attach some files with your message
  376. email -s "files attached" Dean,Jeff --attach stuff.tar.gz,readme.doc
  377. .SH BUGS
  378. If you find any in this program, please submit them to 
  379. .TP
  380. .B http://www.cleancode.org/projects/email/contact
  381. .SH AUTHORS
  382. .B Dean Jones   - http://www.cleancode.org/projects/email/contact
  383. .SH THANKS FOR RELEASE V3.0
  384. .B Philip Lewis - Helped in debugging.
  385. .SH COPYRIGHT
  386. .B (C) 2001 - 2008