Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
John McEleney
/
mailutils
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
Commit
89227684
...
892276842d0b34c94d42cd87b2ac36d92846b08e
authored
2001-12-18 02:44:14 +0000
by
Sam Roberts
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
Added msg-send example of using the mailer_t API.
1 parent
c4d6a2e7
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
113 additions
and
1 deletions
examples/Makefile
examples/msg-send.c
examples/Makefile
View file @
8922768
...
...
@@ -9,7 +9,7 @@ LDLIBS = -lsocket
MULIBS
=
../mailbox/.libs/libmailbox.a ../lib/libmailutils.a
EXES
=
addr mbox-explode mbox-dates mbox-auth url-parse mbox-check mimetest
EXES
=
addr mbox-explode mbox-dates mbox-auth url-parse mbox-check mimetest
msg-send
default
:
$(EXES)
...
...
examples/msg-send.c
0 → 100644
View file @
8922768
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <mailutils/address.h>
#include <mailutils/mailer.h>
#include <mailutils/message.h>
#include <mailutils/registrar.h>
#include <mailutils/stream.h>
#define C(X) {int e; if((e = X) != 0) { \
fprintf(stderr, "%s failed: %s\n", #X, strerror(e)); \
exit(1); } }
const
char
USAGE
[]
=
"usage: mailer [-hd] [-m mailer] [-f from] [to]..."
;
const
char
HELP
[]
=
" -h print this helpful message
\n
"
" -m a mailer URL (default is
\"
sendmail:
\"
)
\n
"
" -f the envelope from address (default is from user environment)
\n
"
" to a list of envelope to addresses (default is from message)
\n
"
"
\n
"
"An RFC2822 formatted message is read from stdin and delivered using
\n
"
"the mailer.
\n
"
;
int
main
(
int
argc
,
char
*
argv
[])
{
int
opt
;
int
optdebug
=
0
;
char
*
optmailer
=
"sendmail:"
;
char
*
optfrom
=
0
;
stream_t
in
=
0
;
message_t
msg
=
0
;
mailer_t
mailer
=
0
;
address_t
from
=
0
;
address_t
to
=
0
;
while
((
opt
=
getopt
(
argc
,
argv
,
"hdm:f:"
))
!=
-
1
)
{
switch
(
opt
)
{
case
'h'
:
printf
(
"%s
\n
%s"
,
USAGE
,
HELP
);
return
0
;
case
'd'
:
optdebug
++
;
break
;
case
'm'
:
optmailer
=
optarg
;
break
;
case
'f'
:
optfrom
=
optarg
;
break
;
default:
fprintf
(
stderr
,
"%s
\n
"
,
USAGE
);
break
;
}
}
/* Register mailers. */
{
list_t
bookie
;
registrar_get_list
(
&
bookie
);
C
(
list_append
(
bookie
,
smtp_record
)
)
C
(
list_append
(
bookie
,
sendmail_record
)
)
}
if
(
optfrom
)
{
C
(
address_create
(
&
from
,
optfrom
)
)
}
if
(
argv
[
optind
])
{
char
**
av
=
argv
+
optind
;
C
(
address_createv
(
&
to
,
(
const
char
**
)
av
,
-
1
)
)
}
C
(
stdio_stream_create
(
&
in
,
stdin
,
0
)
)
C
(
stream_open
(
in
)
)
C
(
message_create
(
&
msg
,
NULL
)
)
C
(
message_set_stream
(
msg
,
in
,
NULL
)
)
C
(
mailer_create
(
&
mailer
,
optmailer
)
)
if
(
optdebug
)
{
mu_debug_t
debug
;
mailer_get_debug
(
mailer
,
&
debug
);
mu_debug_set_level
(
debug
,
MU_DEBUG_TRACE
|
MU_DEBUG_PROT
);
}
C
(
mailer_open
(
mailer
,
0
)
)
C
(
mailer_send_message
(
mailer
,
msg
,
from
,
to
)
)
return
0
;
}
Please
register
or
sign in
to post a comment