SMTP client (send mail) GSwifi see: http://mbed.org/users/gsfan/notebook/gainspan_wifi/

Dependencies:   GSwifi mbed

Committer:
gsfan
Date:
Tue Feb 26 07:40:40 2013 +0000
Revision:
2:6e611bfcd173
Parent:
1:8a46a714f75d
fix

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gsfan 0:50f63fa8a396 1 #include "mbed.h"
gsfan 0:50f63fa8a396 2 #include "GSwifi.h"
gsfan 0:50f63fa8a396 3
gsfan 0:50f63fa8a396 4 #define SERVER "mail.example.com"
gsfan 2:6e611bfcd173 5 #define PORT 587 // or 25
gsfan 0:50f63fa8a396 6 #define TO "to@example.com"
gsfan 0:50f63fa8a396 7 #define FROM "from@example.com"
gsfan 0:50f63fa8a396 8 #define SUBJECT "TEST"
gsfan 0:50f63fa8a396 9 #define MESG "Hello!\r\n"
gsfan 0:50f63fa8a396 10 #define USER "username" // SMTP Auth
gsfan 0:50f63fa8a396 11 #define PWD "password" // SMTP Auth
gsfan 0:50f63fa8a396 12
gsfan 2:6e611bfcd173 13 #define SECURE GSwifi::GSSEC_WPA_PSK
gsfan 0:50f63fa8a396 14 #define SSID "SSID"
gsfan 2:6e611bfcd173 15 #define PASS "PASSPHRASE"
gsfan 0:50f63fa8a396 16
gsfan 2:6e611bfcd173 17 GSwifi gs(p13, p14, p20); // TX, RX, Reset (no flow control)
gsfan 2:6e611bfcd173 18 //GSwifi gs(p13, p14, p12, P0_22, p20, NC, 115200); // TX, RX, CTS, RTS, Reset, Alarm
gsfan 0:50f63fa8a396 19
gsfan 0:50f63fa8a396 20 Serial pc(USBTX, USBRX);
gsfan 0:50f63fa8a396 21 DigitalOut led1(LED1), led2(LED2);
gsfan 0:50f63fa8a396 22
gsfan 0:50f63fa8a396 23 int main () {
gsfan 0:50f63fa8a396 24 IpAddr ipaddr, netmask, gateway, nameserver;
gsfan 0:50f63fa8a396 25 Host host;
gsfan 2:6e611bfcd173 26 int r;
gsfan 0:50f63fa8a396 27
gsfan 0:50f63fa8a396 28 led1 = 1;
gsfan 0:50f63fa8a396 29 pc.baud(115200);
gsfan 0:50f63fa8a396 30
gsfan 2:6e611bfcd173 31 pc.printf("connecting...\r\n");
gsfan 0:50f63fa8a396 32 if (gs.connect(SECURE, SSID, PASS)) {
gsfan 0:50f63fa8a396 33 return -1;
gsfan 0:50f63fa8a396 34 }
gsfan 0:50f63fa8a396 35 gs.getAddress(ipaddr, netmask, gateway, nameserver);
gsfan 0:50f63fa8a396 36 pc.printf("ip %d.%d.%d.%d\r\n", ipaddr[0], ipaddr[1], ipaddr[2], ipaddr[3]);
gsfan 0:50f63fa8a396 37
gsfan 0:50f63fa8a396 38 led2 = 1;
gsfan 0:50f63fa8a396 39 pc.printf("sendmail\r\n");
gsfan 0:50f63fa8a396 40 host.setName(SERVER);
gsfan 0:50f63fa8a396 41 host.setPort(PORT);
gsfan 2:6e611bfcd173 42 // r = gs.mail(host, TO, FROM, SUBJECT, MESG); // no auth
gsfan 2:6e611bfcd173 43 r = gs.mail(host, TO, FROM, SUBJECT, MESG, USER, PWD); // SMTP auth
gsfan 2:6e611bfcd173 44 if (r == 0) {
gsfan 2:6e611bfcd173 45 pc.printf("sent\r\n");
gsfan 2:6e611bfcd173 46 } else {
gsfan 2:6e611bfcd173 47 pc.printf("error\r\n");
gsfan 2:6e611bfcd173 48 }
gsfan 0:50f63fa8a396 49
gsfan 0:50f63fa8a396 50 for (;;) {
gsfan 0:50f63fa8a396 51 gs.poll();
gsfan 0:50f63fa8a396 52
gsfan 0:50f63fa8a396 53 wait_ms(50);
gsfan 0:50f63fa8a396 54 led1 = !led1;
gsfan 0:50f63fa8a396 55 led2 = 0;
gsfan 0:50f63fa8a396 56 }
gsfan 0:50f63fa8a396 57 }