Authors: Albert Uchytil (xuchyt03)
School project for Network Applications and Network Administration. Simple SMTP client. The connection to the server is not encrypted.
SMTP client application written using C++. This implementation uses OOP approach. Application consist of six classes.
Envelope and Message are used as data models.
ArgParser focuses on argument parsing and validation. It fills the data models.
After filling the models with valid data, the Client class instance is created.
All communication with the SMTP server happens within the Client.
$ ./smtpclient [ -a IP ] [ -p port] [ -i file ] [ -w seconds ]-a IP- Address of the SMTP server
- Optional
- Default value is
127.0.0.1
-p port- Port on which the SMTP server is running
- Optional
- Default value is
25
-i file- Path to client's configuration file, that contains E-Mails
- Required
-w seconds- Number of seconds to delay the closing of the connection with the server
- Must be number from
0to3600 - Optional
- Default value is
0
$ ./smtpclient -i test/file01.txt$ ./smtpclient -a 192.168.2.145 -p 1337 -i test/file02.txt$ ./smtpclient -i test/file03.txt -w 60- Uses
isa.localas hard-coded hostname, because it is the hostname of the testing server - Uses
xuchyt03@isa.localas a sender client.hppcontainsDEBUGmacro which enables logging if set to1
make- Builds the project
make clean- Removes compiled files
make pack- Creates archive containing source files
make run- Runs project
- src/args.cpp
- src/args.hpp
- src/client.cpp
- src/client.hpp
- src/env.cpp
- src/env.hpp
- src/main.cpp
- src/msg.cpp
- src/msg.hpp
- src/signal.cpp
- src/signal.hpp
- src/status.cpp
- src/status.hpp
- test/file01.txt
- test/file02.txt
- test/file03.txt
- Makefile
- README