Tiny SMTP Client
Dependencies: EthernetNetIf mbed
main.cpp@1:05064fe7ea1e, 2011-07-28 (annotated)
- Committer:
- okini3939
- Date:
- Thu Jul 28 17:39:31 2011 +0000
- Revision:
- 1:05064fe7ea1e
- Parent:
- 0:7440c9b170aa
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
okini3939 | 0:7440c9b170aa | 1 | #include "mbed.h" |
okini3939 | 0:7440c9b170aa | 2 | #include "EthernetNetIf.h" |
okini3939 | 0:7440c9b170aa | 3 | #include "TCPSocket.h" |
okini3939 | 0:7440c9b170aa | 4 | #include "TinySMTP.h" |
okini3939 | 0:7440c9b170aa | 5 | |
okini3939 | 0:7440c9b170aa | 6 | #define SMTP "mail.domain.name" |
okini3939 | 0:7440c9b170aa | 7 | #define PORT 587 // or 25 |
okini3939 | 0:7440c9b170aa | 8 | #define FROM "from@domain.name" |
okini3939 | 0:7440c9b170aa | 9 | #define TO "to@domain.name" |
okini3939 | 0:7440c9b170aa | 10 | #define USER "authuser" |
okini3939 | 0:7440c9b170aa | 11 | #define PWD "password" |
okini3939 | 0:7440c9b170aa | 12 | #define SUBJECT "mail test" |
okini3939 | 0:7440c9b170aa | 13 | #define BODY "TEST TEST" |
okini3939 | 0:7440c9b170aa | 14 | |
okini3939 | 0:7440c9b170aa | 15 | DigitalOut myled(LED1); |
okini3939 | 0:7440c9b170aa | 16 | Serial pc(USBTX, USBRX); |
okini3939 | 0:7440c9b170aa | 17 | EthernetNetIf eth; |
okini3939 | 0:7440c9b170aa | 18 | |
okini3939 | 0:7440c9b170aa | 19 | int main () { |
okini3939 | 0:7440c9b170aa | 20 | EthernetErr ethErr; |
okini3939 | 0:7440c9b170aa | 21 | Host host; |
okini3939 | 0:7440c9b170aa | 22 | int r; |
okini3939 | 0:7440c9b170aa | 23 | char data[500]; |
okini3939 | 0:7440c9b170aa | 24 | |
okini3939 | 0:7440c9b170aa | 25 | myled = 1; |
okini3939 | 0:7440c9b170aa | 26 | |
okini3939 | 0:7440c9b170aa | 27 | strcpy(data, "From: " FROM "\r\nTo: " TO "\r\n"); |
okini3939 | 0:7440c9b170aa | 28 | strcat(data, "Subject: " SUBJECT "\r\n\r\n" BODY "\r\n"); |
okini3939 | 0:7440c9b170aa | 29 | |
okini3939 | 0:7440c9b170aa | 30 | ethErr = eth.setup(); |
okini3939 | 0:7440c9b170aa | 31 | if(ethErr) { |
okini3939 | 0:7440c9b170aa | 32 | return -1; |
okini3939 | 0:7440c9b170aa | 33 | } |
okini3939 | 0:7440c9b170aa | 34 | |
okini3939 | 0:7440c9b170aa | 35 | host.setName(SMTP); |
okini3939 | 0:7440c9b170aa | 36 | host.setPort(PORT); |
okini3939 | 0:7440c9b170aa | 37 | r = sendmail(FROM, TO, data, &host, USER, PWD); |
okini3939 | 0:7440c9b170aa | 38 | |
okini3939 | 0:7440c9b170aa | 39 | if (r) { |
okini3939 | 0:7440c9b170aa | 40 | printf("error\r\n"); |
okini3939 | 0:7440c9b170aa | 41 | } else { |
okini3939 | 0:7440c9b170aa | 42 | printf("sent\r\n"); |
okini3939 | 0:7440c9b170aa | 43 | } |
okini3939 | 0:7440c9b170aa | 44 | |
okini3939 | 0:7440c9b170aa | 45 | myled = 0; |
okini3939 | 0:7440c9b170aa | 46 | return 0; |
okini3939 | 0:7440c9b170aa | 47 | } |