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