Quectel EC2x&EG9x&EM05 SMTP AT Commands Manual V1.0

Quectel_EC2x%26EG9x%26EM05_SMTP_AT_Commands_Manual_V1.0

Quectel_EC2x%26EG9x%26EM05_SMTP_AT_Commands_Manual_V1.0

Quectel_EC2x%26EG9x%26EM05_SMTP_AT_Commands_Manual_V1.0

Quectel_EC2x%26EG9x%26EM05_SMTP_AT_Commands_Manual_V1.0

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 32

DownloadQuectel EC2x&EG9x&EM05 SMTP AT Commands Manual V1.0
Open PDF In BrowserView PDF
EC2x&EG9x&EM05 SMTP
AT Commands Manual
LTE Module Series
Rev. EC2x&EG9x&EM05_SMTP_AT_Commands_Manual_V1.0
Date: 2017-12-08
Status: Released

www.quectel.com

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

Our aim is to provide customers with timely and comprehensive service. For any
assistance, please contact our company headquarters:
Quectel Wireless Solutions Co., Ltd.
7th Floor, Hongye Building, No.1801 Hongmei Road, Xuhui District, Shanghai 200233, China
Tel: +86 21 5108 6236
Email: info@quectel.com

Or our local office. For more information, please visit:
http://quectel.com/support/sales.htm

For technical support, or to report documentation errors, please visit:
http://quectel.com/support/technical.htm
Or Email to: support@quectel.com

GENERAL NOTES
QUECTEL OFFERS THE INFORMATION AS A SERVICE TO ITS CUSTOMERS. THE INFORMATION
PROVIDED IS BASED UPON CUSTOMERS’ REQUIREMENTS. QUECTEL MAKES EVERY EFFORT
TO ENSURE THE QUALITY OF THE INFORMATION IT MAKES AVAILABLE. QUECTEL DOES NOT
MAKE ANY WARRANTY AS TO THE INFORMATION CONTAINED HEREIN, AND DOES NOT ACCEPT
ANY LIABILITY FOR ANY INJURY, LOSS OR DAMAGE OF ANY KIND INCURRED BY USE OF OR
RELIANCE UPON THE INFORMATION. ALL INFORMATION SUPPLIED HEREIN IS SUBJECT TO
CHANGE WITHOUT PRIOR NOTICE.

COPYRIGHT
THE INFORMATION CONTAINED HERE IS PROPRIETARY TECHNICAL INFORMATION OF
QUECTEL CO., LTD. TRANSMITTING, REPRODUCTION, DISSEMINATION AND EDITING OF THIS
DOCUMENT AS WELL AS UTILIZATION OF THE CONTENT ARE FORBIDDEN WITHOUT
PERMISSION. OFFENDERS WILL BE HELD LIABLE FOR PAYMENT OF DAMAGES. ALL RIGHTS
ARE RESERVED IN THE EVENT OF A PATENT GRANT OR REGISTRATION OF A UTILITY MODEL
OR DESIGN.

Copyright © Quectel Wireless Solutions Co., Ltd. 2017. All rights reserved.

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

1 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

About the Document
History
Revision

Date

Author

Description

1.0

2017-12-08

Duke XIN/
Haley HUANG

Initial

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

2 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

Contents
About the Document ................................................................................................................................... 2
Contents ....................................................................................................................................................... 3
Table Index ................................................................................................................................................... 4
1

Introduction .......................................................................................................................................... 5
1.1.
Introduction about SSL Type ................................................................................................... 5
1.2.
The Process of Sending Email ................................................................................................ 6
1.3.
Description of Data Mode ........................................................................................................ 7

2

Description of SMTP AT Commands ................................................................................................. 8
2.1.
AT+QSMTPCFG Configure Parameters for SMTP Server .................................................. 8
2.2.
AT+QSMTPDST Add or Delete Recipients ........................................................................ 10
2.3.
AT+QSMTPSUB Edit the Subject of an Email ................................................................... 12
2.4.
AT+QSMTPBODY Edit the Body of an Email..................................................................... 13
2.5.
AT+QSMTPATT Add or Delete Attachments for an Email .................................................. 15
2.6.
AT+QSMTPCLR Clear the Content of an Email ................................................................. 16
2.7.
AT+QSMTPPUT Send an Email ......................................................................................... 17

3

Examples ............................................................................................................................................ 19
3.1.
Send an Email without SSL ................................................................................................... 19
3.2.
Send an Email with SSL ........................................................................................................ 21
3.3.
Send an Email with STARTTLS ............................................................................................ 22

4

Error Handling .................................................................................................................................... 24
4.1.
Executing SMTP AT Command Fails .................................................................................... 24
4.2.
PDP Activation Fails .............................................................................................................. 24
4.3.
DNS Parse Fails .................................................................................................................... 25
4.4.
Error Response of AT+QSMTPPUT ...................................................................................... 25

5
6
7

Summary of Error Codes .................................................................................................................. 26
Summary of SMTP Protocol Error Codes ....................................................................................... 28
Appendix A References..................................................................................................................... 30

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

3 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

Table Index
TABLE 1: SUMMARY OF ERROR CODES ...................................................................................................... 26
TABLE 2: SUMMARY OF SMTP PROTOCOL ERROR CODES ...................................................................... 28
TABLE 3: RELATED DOCUMENTS .................................................................................................................. 30
TABLE 4: TERMS AND ABBREVIATIONS ........................................................................................................ 30

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

4 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

1

Introduction

Quectel EC2x&EG9x&EM05 modules provide SMTP application interface for sending emails. This
document is a reference guide to all the AT commands defined for SMTP.
This document is applicable to following Quectel modules:




EC2x (including EC25, EC21, EC20 R2.0 and EC20 R2.1)
EG9x (including EG91 and EG95)
EM05

1.1. Introduction about SSL Type
There are three kinds of connections between SMTP client and SMTP server:




Without SSL
SSL
STARTTLS

Some SMTP servers do not support connection without SSL, while some can support all of them.
Customers can choose one kind according to the mail service provider.
These three kinds of connections can be set by  parameter in AT+QSMTPCFG="ssltype".
1.

2.
3.

If  is 0, it means “without SSL”. In this case, SSL function will not be used, and emails are
sent with insecure connection. The port of SMTP server depends on mail service provider, and it is
the port 25 usually.
If  is 1, it means “SSL”. In this case, emails are sent with SSL/TLS encrypted SMTP. The
port of SMTP server depends on mail service provider, and it is the port 465 or 587 usually.
If  is 2, it means “STARTTLS”. In this case, the normal insecure connection can be
upgraded to secure connection through STARTTLS function, for sending the mail data. The port of
SMTP server depends on mail service provider, and it is the port 25, 465 or 587 usually.

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

5 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

1.2. The Process of Sending Email
As EC2x&EG9x&EM05 modules support SMTP protocol, customers can send emails easily by
EC2x&EG9x&EM05 SMTP AT commands. The general process is as follows:
Step 1: Configure and activate a PDP context.
1) Configure , ,  and other parameters of a PDP context by
AT+QICSGP. Please refer to Quectel_EC2x&EG9x&EM05_TCP(IP)_AT_Commands_Manual
for details.
If QoS settings need to be updated, configure them by AT+CGQMIN, AT+CGEQMIN,
AT+CGQREQ and AT+CGEQREQ commands. For more details, please refer to
Quectel_EC25&EC21_AT_Commands_Manual, Quectel_EG9x_AT_Commands_Manual and
Quectel_EM05_AT_Commands_Manual.
2) Activate the PDP context by AT+QIACT.
3) Configure the PDP context ID for SMTP by AT+QSMTPCFG="contextid",.
Step 2: Configure SMTP server and user account.
1) Configure SSL type by AT+QSMTPCFG="ssltype",. If  is SSL or STARTTLS,
customers should choose an SSL context by AT+QSMTPCFG="sslctxid", and
configure the  by AT+QSSLCFG="ciphersuite",,. For more
details about these commands, please refer to Quectel_EC2x&EG9x&EM05_SSL_AT_
Commands_Manual.
2) Configure SMTP server by AT+QSMTPCFG="smtpserver",,.  and
 parameters depend on the mail service provider.
3) Configure account information by AT+QSMTPCFG="account",,.
4) Configure sender information by AT+QSMTPCFG="sender",,.
Step 3:
1)
2)
3)
4)

Edit the email content.
Configure the recipient email address by AT+QSMTPDST.
Configure the subject of email by AT+QSMTPSUB.
Configure the body of email by AT+QSMTPBODY.
Add attachments for the email by AT+QSMTPATT. The attachments can be RAM, UFS or SD
files. And the files can be uploaded to RAM, UFS or SD card by AT+QFUPL. After sending email
successfully, the file should be deleted by AT+QFDEL. For more details of these commands,
please refer to Quectel_EC2x&EG9x&EM05_FILE_AT_Commands_Manual

Step 4: Send email.
Send the email by AT+QSMTPPUT. It will take some time to send the email depending on the total
size of attachments and network status. When the sending action ends, “+QSMTPPUT:
,” will be returned.

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

6 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

Step 5: Clear the email content.
AT+QSMTPCLR will clear the email content configured in Step 3. The attached files should be
deleted by AT+QFDEL. For more details of these commands, please refer to
Quectel_EC2x&EG9x&EM05_FILE_AT_Commands_Manual. Then repeat Step 3 and 4. If the
SMTP server information and user information need to be changed, then Step 2 to Step 4 should
be repeated.
If emails have not been sent for a long time, such as 30 minutes or even longer, then the PDP
context should be deactivated by AT+QIDEACT=. For more details, please refer to
Quectel_EC2x&EG9x&EM05_TCP(IP)_AT_Commands_Manual.

1.3. Description of Data Mode
The COM port of EC2x&EG9x&EM05 modules has two working modes: AT command mode and data
mode. In AT command mode, the inputted data via COM port will be treated as AT command, while in data
mode, it will be treated as data.
Inputting “+++” or pulling up DTR (AT&D1 should be set first) can make the module exit from data mode.
To prevent the “+++” from being misinterpreted as data, the following sequence should be followed:
1)
2)
3)

Do not input any character within 1s or longer before inputting “+++”.
Input “+++” within 1s, and no other characters can be inputted during the time.
Do not input any character within 1s after “+++” has been inputted.

When AT+QSMTPBODY is executed, the COM port will enter into data mode. All inputted data will be the
body of email. If the inputted data reaches the  or the time reaches , the port
will exit from data mode automatically. If the inputted data is less than the , customers can
finish editing body by inputting “+++” or changing DTR level from low to high before  reaches.
In such case, the COM port cannot reenter data mode by executing ATO command.

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

7 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

2

Description of SMTP AT Commands

2.1. AT+QSMTPCFG

Configure Parameters for SMTP Server

The command is used to configure SMTP server, user account and SSL settings. If the Write Command
only executes one parameter, it will query the current settings.

AT+QSMTPCFG Configure Parameters for SMTP Server
Test Command
AT+QSMTPCFG=?

Response
+QSMTPCFG: "account",,
+QSMTPCFG: "sender",,
+QSMTPCFG: "smtpserver",,
+QSMTPCFG: "contextid",(1-16)
+QSMTPCFG: "sslctxid",(0-5)
+QSMTPCFG: "ssltype",(0-2)
OK

Write Command
AT+QSMTPCFG="account"[,,]

Response
If  and  are not omitted:
OK
Or
+CME ERROR: 
If  and  are both omitted, query the
current settings:
+QSMTPCFG: "account",,
OK

Write Command
AT+QSMTPCFG="sender"[,,]

Response
If  and  are not omitted:
OK
Or
+CME ERROR: 
If  and  are both omitted,
query the current settings:

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

8 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

+QSMTPCFG: "sender",,
OK
Write Command
AT+QSMTPCFG="smtpserver"[,,]

Response
If  and  are not omitted:
OK
Or
+CME ERROR: 
If  and  are both omitted, query the current
settings:
+QSMTPCFG: "smtpserver",,
OK

Write Command
AT+QSMTPCFG="contextid"[,]

Response
If  is not omitted:
OK
Or
+CME ERROR: 
If  is omitted, query the current settings:
+QSMTPCFG: "contextid",
OK

Write Command
AT+QSMTPCFG="sslctxid"[,]

Response
If  is not omitted:
OK
Or
+CME ERROR: 
If  is omitted, query the current settings:
+QSMTPCFG: "sslctxid",
OK

Write Command
AT+QSMTPCFG="ssltype"[,
]

Response
If  is not omitted:
OK
Or
+CME ERROR: 
If  is omitted, query the current settings:
+QSMTPCFG: "ssltype",
OK

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

9 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

Parameter















String type. The user name for authentication. The maximum size of the
parameter is 50 bytes.
String type. The password for authentication. The maximum size of the
parameter is 50 bytes.
String type. The email address of the sender. The maximum size of the parameter
is 50 bytes.
String type. The sender’s name that will be shown when the recipients receiving
the email. The maximum size of the parameter is 50 bytes.
String type. The IP address or domain name of the SMTP server. The maximum
size of the parameter is 50 bytes.
Integer type. The port of the SMTP server. The default value is 25. It may be
different depending on different SMTP server. For details, please
query
the
corresponding mail service provider.
Integer type. The PDP context ID. The range is 1-16, and the default value is 1. It
should be activated by AT+QIACT before sending an email. For details, please
refer to Quectel_EC2x&EG9x&EM05_TCP(IP)_AT_Commands_Manual.
Integer type. SSL context ID used for SMTP. The range is 0-5, and the default
value is 1. Customers should configure the SSL parameters by AT+QSSLCFG.
For details, please refer to Quectel_EC2x&EG9x&EM05_SSL_AT_Commands
_Manual.
Integer type. Configure the SSL type. Please choose the SSL type according to
the mail service provider, since some SMTP servers do not support sending email
without SSL.
0
Without SSL
1
SSL
2
STARTTLS
Integer type. The error code of the operation. Please refer to Chapter 5.

2.2. AT+QSMTPDST Add or Delete Recipients
AT+QSMTPDST=1 can be used to add recipients. The maximum number of recipients is 20, including CC
recipients and BCC recipients. AT+QSMTPDST=0 can be used to delete all recipients.

AT+QSMTPDST Add or Delete Recipients
Test Command
AT+QSMTPDST=?

Response
+QSMTPDST: (0,1),(1-3),
OK

Read Command
AT+QSMTPDST?

Response
[+QSMTPDST: ,]

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

10 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

OK
Write Command
AT+QSMTPDST=[,[,]]

Response
If the format is correct and it is not sending an email:
OK
Or
+CME ERROR: 

Parameter







Integer type. Add or delete recipients.
0
Delete
1
Add
Integer type. The type of recipients.
1
All recipients
2
CC recipients
3
BCC recipients
String type. The email address of recipients. The maximum size of the parameter
is 50 bytes.
Integer type. The error code of the operation. Please refer to Chapter 5.

Example
//Add recipients.
AT+QSMTPDST=1,1,"quectel_test@aol.com"
OK
AT+QSMTPDST=1,2,"quectel_test@21cn.com"

//Add the recipient and the recipient type is 1
which means all recipients.
//Add the recipient and the recipient type is 2
which means CC recipients.

OK
AT+QSMTPDST?
+QSMTPDST: 1,"quectel_test@aol.com"
+QSMTPDST: 2,"quectel_test@21cn.com"
OK
//Delete all recipients.
AT+QSMTPDST=0
OK
AT+QSMTPDST?
OK

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

//Delete all recipients.

11 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

2.3. AT+QSMTPSUB Edit the Subject of an Email
The command is used to edit the subject of an email. If  is not ASCII, the inputted data should
be the hex string of the original subject.

AT+QSMTPSUB Edit the Subject of an Email
Test Command
AT+QSMTPSUB=?

Response
+QSMTPSUB: (0-3),
OK

Read Command
AT+QSMTPSUB?

Response
+QSMTPSUB: ,
OK

Write Command
AT+QSMTPSUB=,

Response
OK
Or
+CME ERROR: 

Parameter






Integer type. The character set of the subject.
0 ASCII
1 UTF-8
2 GB2312
3 BIG5
String type. The subject of the email. If  is 0, this string will be the subject of
the email. Otherwise, it is formatted as a hex string, e.g. “41” means the hex value
0x41. If the character set is ASCII, the length of  is 0-100 in unit of byte. If
the character set is not ASCII, the length of  should be even and the range
is 0-200 in unit of byte.
Integer type. The error code of the operation. Please refer to Chapter 5.

Example
//Add subject for an email and the  is ASCII.
AT+QSMTPSUB=0,"TEST SMTP"
OK
AT+QSMTPSUB?
+QSMTPSUB: 0,"TEST SMTP"

//Edit subject and the character set is 0 which means ASCII.
//Query subject of the email.

OK

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

12 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

//Add subject for email and the  is UTF8. “7465737420534D5450” is the hex string of “TEST
SMTP”.
AT+QSMTPSUB=1,"7465737420534D5450"
OK
AT+QSMTPSUB?
+QSMTPSUB: 1,"7465737420534D5450"

//Edit subject and the character set is 1 which means
UTF8.
//Query subject of the email.

OK

2.4. AT+QSMTPBODY

Edit the Body of an Email

The command is used to edit the body of an email. When AT+QSMTPBODY is executed, the module will
enter into data mode. All inputted data will be the body of email. If the inputted data reaches the
 or the time reaches , the module will exit from data mode automatically. If the
inputted data is less than the , customers can finish editing body by inputting “+++” or
changing DTR level from low to high before  reaches. The maximum size of the email body
is 10 Kbytes. The actual body length is the inputted data length.

AT+QSMTPBODY Edit the Body of an Email
Test Command
AT+QSMTPBODY=?

Response
+QSMTPBODY: (0-3),(1-10240),(1-65535)
OK

Read Command
AT+QSMTPBODY?

Response
OK

Write Command
AT+QSMTPBODY=,[,]

Response
If the format is correct and it is not sending an email:
CONNECT

+QSMTPBODY: 
OK
If there is any error, response:
+CME ERROR: 

Parameter


Integer type. The character set of the body.
0 ASCII

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

13 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

1 UTF-8
2 GB2312
3 BIG5
 Integer type. The specific length of body. If the length of inputted data is less than the
specific value , customers can exit from data mode by “+++”. The
actual length of the body is the inputted data length. The range is 1-10240. Unit: byte.
 The actual length of the inputted body.

Integer type. The maximum time to upload email body from COM port. The range is
1-65535, and the default value is 90. Unit: second.

Integer type. The error code of the operation. Please refer to Chapter 5.

Example
//Edit email body and the body length is 100 bytes.
AT+QSMTPBODY=0,100,120

CONNECT

+QSMTPBODY: 100

//Edit email body. The character set is 0 which means ASCII,
and the maximum input length is 100 bytes and the maximum
input time is 120s.
//Input 100 bytes data.

OK

//If the actual inputted data is less than the specified length, customers can stop editing the body by
inputting “+++”.
AT+QSMTPBODY=0,100,120

//Edit email body. The character set is 0 which means ASCII,
and the maximum input length is 100 bytes and the maximum
input time is 120s.

CONNECT

//Input “+++”.
+QSMTPBODY: 90
OK
//If the actual inputted data is less than specified length and the maximum input time expires, the module
will end the editing of body automatically.
AT+QSMTPBODY=0,100,120

//Edit email body. The character set is 0 which means ASCII, and
the maximum input length is 100 bytes and the maximum input
time is 120s.

CONNECT

//120s later.

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

14 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

+QSMTPBODY: 90
OK

2.5. AT+QSMTPATT

Add or Delete Attachments for an Email

Attachments for email can be added by AT+QSMTPATT=1. When adding an attachment, the file index
should be specified. As a result, different attachments should have different file index. The maximum
number of attachments is 10.
The attachments can be RAM, UFS or SD files (RAM files are strongly recommended). Files can be
uploaded to RAM, UFS or SD card by AT+QFUPL. After sending the email successfully, the files in RAM,
UFS or SD card should be deleted by AT+QFDEL. For more details of these commands, please refer to
Quectel_EC2x&EG9x&EM05_FILE_AT_Commands_Manual. The mail service provider may have some
restriction on single file size and total size.
AT+QSMTPATT=0 can be used to delete all attachments.

AT+QSMTPATT Add or Delete Attachments for an Email
Test Command
AT+QSMTPATT=?

Response
+QSMTPATT: (0,1),(1-10),
OK

Read Command
AT+QSMTPATT?

Response
[+QSMTPATT:
,,]
OK

Write Command
AT+QSMTPATT=[,,]

Response
OK
Or
+CME ERROR: 

Parameter





Integer type. Add or delete the attachment.
0 Delete
1 Add
Integer type. The index of the attachment. The range is 1-10.
String type. The file name of the attachment to be added. The maximum size of
the parameter is 50 bytes.

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

15 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual




Integer type. The size of the attachment. Unit: byte.
Integer type. The error code of the operation. Please refer to Chapter 5.

Example
//Customers can add attachments from RAM. After the email is sent, the file uploaded to RAM should be
deleted by AT+QFDEL. The detailed example is shown as follows:
AT+QFUPL="RAM:test.txt",200,300,1

//Upload a file to RAM. The file will be saved as “test.txt”
and the maximum size of file is 200 bytes. 300 indicates
timeout, and 1 indicates ACK mode. For details, please
refer
to
Quectel_EC2x&EG9x&EM05_FILE_AT_
Commands_Manual.

CONNECT

+QFUPL: 200,707
OK
AT+QFLST="RAM:*"
+QFLST: "RAM:test.txt",200
OK
AT+QSMTPATT=1,1,"RAM:test.txt"
OK
AT+QSMTPATT?
+QSMTPATT: 1,"RAM:test.txt",200

//Add an attachment for email and the file index is 1.
//Query the attachments.

OK
//Delete all attachments.
AT+QSMTPATT=0
OK
AT+QSMTPATT?
OK

//Delete all attachments for the email.
//Query the attachments.

2.6. AT+QSMTPCLR Clear the Content of an Email
AT+QSMTPCLR will clear all the configurations of AT+QSMTPDST, AT+QSMTPSUB, AT+QSMTPBODY
and AT+QSMTPATT.

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

16 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

AT+QSMTPCLR Clear the Content of an Email
Test Command
AT+QSMTPCLR=?

Response
OK

Execution Command
AT+QSMTPCLR

Response
OK
Or
+CME ERROR: 

Parameter


Integer type. The error code of the operation. Please refer to Chapter 5.

Example
AT+QSMTPCLR

//Clear the recipients, subject, body and attachments for
the email.

OK
AT+QSMTPDST?
OK
AT+QSMTPSUB?
+QSMTPSUB: 0,""

//Query the recipients of the email.
//Query the subject of the email.

OK
AT+QSMTPATT?
OK

//Query the attachments of the email.

2.7. AT+QSMTPPUT Send an Email
It may take some time for an email to be completely sent, which depends on the total size of attachments
and network status. Customers should not send email again before receiving “+QSMTPPUT:
,” which indicates the ending of sending an email. If  is not 0, the email can be
resent by executing AT+QSMTPPUT= directly.

AT+QSMTPPUT Send an Email
Test Command
AT+QSMTPPUT=?

Response
+QSMTPPUT: (60-65535)
OK

Write Command

Response

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

17 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

AT+QSMTPPUT=

If the format is correct and it is not sending an email:
OK
+QSMTPPUT: ,
If there is any error, response:
+CME ERROR: 

Parameter




Integer type. The maximum time to send an email. The range is 60-65535. Unit:
second.
Integer type. The error code of the operation. Please refer to Chapter 5. If it is 0, it
means the operation is successful.
Integer type. For reference only. Indicates the original error code from SMTP
server which is defined in SMTP protocol. For details, please refer to Chapter 6. If
it is 0, it is invalid.

Example
AT+QSMTPPUT=300
OK

//Send the email and the maximum time is 300s.

+QSMTPPUT: 0,0

//The email has been sent successfully. If 
is not 0, the email can be resent by executing
AT+QSMTPPUT= directly.

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

18 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

3

Examples

3.1. Send an Email without SSL
Sending an email without SSL means that SSL function will not be used, and the email will be sent with
insecure connection. For example:
//Step 1: Configure and activate the PDP context.
AT+QICSGP=1,1,"UNINET","","",1

//Configure PDP context 1. APN is “UNINET” for
China Unicom.

OK
AT+QIACT=1
OK
AT+QIACT?
+QIACT: 1,1,1,"10.7.157.1"
OK
AT+QSMTPCFG="contextid",1

//Activate PDP context 1.
//Activated successfully.
//Query the state of PDP context.

//Set the PDP context ID as 1. The PDP context
ID must be activated first.

OK
//Step 2: Configure SMTP server and user account.
AT+QSMTPCFG="ssltype",0

//Set the SSL type as without SSL for SMTP. In
this case, SSL function will not be used, and
emails will be sent with insecure connection.
AT+QSMTPCFG="smtpserver","smtp.163.com",25 //Set the IP address or domain name and port of
SMTP server. The port of SMTP server depends
on mail service provider.
OK
AT+QSMTPCFG="account","sishen664551","wq664551" //Set username and password.
OK
AT+QSMTPCFG="sender","sishen664551","sishen664551@163.com" //Set sender name and sender
address. The sender name
will be shown when the
email is received.
OK

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

19 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

//Step 3: Edit the email content.
AT+QSMTPDST=1,1,"quectel_test@163.com"
OK
AT+QSMTPDST=1,2,"quectel_test@21cn.com"

//Add the recipient and the recipient type is 1 which
means all recipients.
//Add the recipient and the recipient type is 2
which means CC recipients.

OK
AT+QSMTPDST?
+QSMTPDST: 1,"quectel_test@163.com"
+QSMTPDST: 2,"quectel_test@21cn.com"
OK
AT+QSMTPSUB=0,"TEST SMTP"
OK
AT+QSMTPSUB?
+QSMTPSUB: 0,"TEST SMTP"
OK
AT+QSMTPBODY=0,100,120

//Edit subject and the character set is 0 which
means ASCII.
//Query the subject of email.

//Edit email body. The character set is 0 which
means ASCII. The maximum input length is 100
bytes and the maximum input time is 120s.

CONNECT

+QSMTPBODY: 100
OK
AT+QFUPL="RAM:smtp1.txt",100,200,1

//Upload a file to RAM. The file will be saved as
“smtp1.txt” and the maximum size of file is 100
bytes. 200 indicates timeout, and 1 indicates
ACK mode. Please refer to Quectel_
EC2x&EG9x&EM05_FILE_AT_Commands_
Manual for more details.

CONNECT

+QFUPL: 100,707
OK
AT+QFLST="RAM:*"
+QFLST: "RAM:smtp1.txt",100
OK
AT+QSMTPATT=1,1,"RAM:smtp1.txt"

//Add an attachment for email and the file index is
1.

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

20 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

OK
AT+QSMTPATT?
+QSMTPATT: 1,"RAM:smtp1.txt",100

//Query the attachment.

OK
//Step 4: Send the email.
AT+QSMTPPUT=300
OK

//Send the email and the maximum time is 300s.

//It may take a few minutes.
+QSMTPPUT: 0,0

//Send email successfully. If  is not 0, then the
email
can
be
resent
by
executing
AT+QSMTPPUT= directly.

//Step 5: Clear the email content and deactivate the PDP context.
AT+QSMTPCLR
OK
AT+QFDEL="RAM:smtp.txt"
OK

//Clear recipients, subject, body and attachments.
//Delete the file as attachment.

//Customers can repeat Step 3 and Step 4 to re-send emails. Of course, you can also repeat Step 2 to
Step 4 to re-send emails.
AT+QIDEACT=1

//Deactivate the PDP context which is activated for
SMTP.

OK

3.2. Send an Email with SSL
Sending an email with SSL means that emails will be sent over SSL/TLS encrypted SMTP. The port of
SMTP server depends on the mail service provider, and it is the port 465 or 587 usually. As compared
with sending email without SSL, sending email over SSL additionally needs SMTP server and user
account configuration.
//Configure SSL type.
AT+QSMTPCFG="ssltype",1
OK
AT+QSMTPCFG="sslctxid",1
OK
AT+QSSLCFG="ciphersuite",1,0xffff

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

//Set the SSL type as 1, which means emails
will be sent over SSL.
//Choose SSL context 1 for SMTP.
//Configure SSL cipher suite type as 0xffff,
which means all cipher suite types will be

21 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

supported.
OK
AT+QSSLCFG="seclevel",1,0

//Configure SSL security level as 0 which
means the SSL CA certificate is not
needed.

OK
AT+QSSLCFG="sslversion",1,1

//Configure SSL version as 1 which means
TLS1.0.

OK
//Configure SMTP server.
AT+QSMTPCFG="smtpserver","smtp.163.com",25
OK

//Set SMTP server address and port.

//As the SMTP server is different, the account information will be different as well. As an example, the
following information is provided.
AT+QSMTPCFG="account","sishen664551","wq664551"
//Set username and password.
OK
AT+QSMTPCFG="sender","sishen664551","sishen664551@163.com" //Set sender name and sender
address.
OK

3.3. Send an Email with STARTTLS
Sending an email with STARTTLS means that the normal insecure connection will be upgraded to secure
one through STARTTLS function, thus for sending the mail data. In this case, there is also a need for
SMTP server and user account configuration. The port of SMTP server depends on the mail service
provider, and it is the port 25, 465 or 587 usually.
//Configure SSL type.
AT+QSMTPCFG="ssltype",2
OK
AT+QSMTPCFG="sslctxid",1
OK
AT+QSSLCFG="ciphersuite",1, 0xffff
OK
AT+QSSLCFG="seclevel",1,0
OK
AT+QSSLCFG="sslversion",1,1

//Set the SSL type as 2, which means emails will be
sent over STARTTLS.
//Choose SSL context 1 for SMTP.
//Configure SSL cipher suite type as 0xffff, which means
all cipher suite types will be supported.
//Configure SSL security level as 0, which means the
SSL CA cert is not needed.
//Configure SSL version as 1 which means TLS1.0.

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

22 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

OK
//Configure SMTP server.
AT+QSMTPCFG="smtpserver","smtp.163.com",25

//Set SMTP server address and port.

OK
//As the SMTP server is different, the account information will be different as well. As an example, the
following information is provided.
AT+QSMTPCFG="account","sishen664551","wq664551"
OK
AT+QSMTPCFG="sender","sishen664551","sishen664551@163.com"

//Set username and
password.
//Set sender name and
sender address.

OK

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

23 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

4

Error Handling

4.1. Executing SMTP AT Command Fails
When executing SMTP AT commands, if response “ERROR” is received from the module, please check
whether the (U)SIM card is inserted, and whether it is “+CPIN: READY” returned when executing
AT+CPIN?.

4.2. PDP Activation Fails
If it is failed to activate a PDP context by AT+QIACT command, please check the following configurations:
1.
2.
3.
4.
5.

Query whether the PS domain is attached or not by AT+CGATT? command. If not, please execute
AT+CGATT=1 to attach PS domain.
Query the PS domain status by AT+CGREG? command and make sure the PS domain has been
registered.
Query the PDP context parameters by AT+QICSGP command and make sure the APN of specified
PDP context has been set.
Make sure the specified PDP context ID is neither used by PPP nor activated by AT+CGACT
command.
According to 3GPP specifications, the module only supports three PDP contexts activated
simultaneously, so customers must make sure the number of activated PDP contexts is less than 3.

If all above configurations are correct, but activating the PDP context by AT+QIACT command still fails,
please reboot the module to resolve this issue. After rebooting the module, please check the
configurations mentioned above for at least three times and each time at an interval of 10 minutes to
avoid frequently rebooting the module.

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

24 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

4.3. DNS Parse Fails
When executing AT+QSMTPPUT command, if “+QSMTPPUT: 653,0” is returned, please check the
following aspects:
1. Make sure the domain name of SMTP server is valid.
2. Query the status of PDP context by AT+QIACT? command to make sure the specified PDP context
has been activated successfully.

4.4. Error Response of AT+QSMTPPUT
“+QSMTPPUT: ,” will be returned after executing AT+QSMTPPUT.
If  is not 0, it indicates the sending is failed. Please resend the email. If resending is not successful,
please deactivate the PDP context by AT+QIDEACT and re-activate the PDP context by AT+QIACT to
resolve this issue. If activating the PDP context fails, please refer to Chapter 4.2 to resolve it.
If the  is not 0, it indicates the error code replied from SMTP server. Customers can
check the issue depending on the protocol error code. For example, if  is 535
(authentication failed), it indicates  or  may be wrong. If  is 530
(access denied), it means the emails are sent too often, and the SMTP server rejects to post the emails.
For more details, please refer to RFC2821 (Simple Mail Transfer Protocol).

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

25 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

5

Summary of Error Codes

The error code  indicates an error related to mobile equipment or network. The details about 
are described in the following table.

Table 1: Summary of Error Codes


Meaning

651

Unknown error

652

The SMTP server is busy, such as uploading the body or sending an email.

653

Failed to get IP address according to the domain name.

654

Network error, such as failed to activate GPRS/CSD context, failed to establish the
TCP connection with the SMTP server or failed to send an email to the SMTP
server, etc.

655

Unsupported authentication type

656

The connection for the SMTP server is closed by peer.

657

GPRS/CSD context is deactivated.

658

Timeout

659

No recipient for the SMTP server

660

Failed to send an email

661

Failed to open a file

662

No enough memory for the attachment

663

Failed to save the attachment

664

The input parameter is wrong

665

SSL authentication failed

666

Service not available, closing transmission channel

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

26 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

667

Requested mail action not taken: mailbox unavailable

668

Requested action aborted: local error in processing

669

Requested action not taken: insufficient system storage

670

Syntax error, command unrecognized

671

Syntax error in parameters or arguments

672

Command not implemented

673

Bad sequence of commands

674

Command parameter not implemented

675

 does not accept mail (see RFC1846)

676

Access denied

677

Authentication failed

678

Requested action not taken: mailbox unavailable

679

User not local; please try 

680

Requested mail action aborted: exceeded storage allocation

681

Requested action not taken: mailbox name not allowed

682

Transaction failed

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

27 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

6

Summary of SMTP Protocol Error
Codes

The protocol error code  indicates an error replied from SMTP server. Please refer to
RFC2821 (Simple Mail Transfer Protocol). The details about  are described in the
following table.

Table 2: Summary of SMTP Protocol Error Codes


Meaning

421

Service not available, closing transmission channel

450

Requested mail action not taken: mailbox unavailable

451

Requested action aborted: local error in processing

452

Requested action not taken: insufficient system storage

500

Syntax error, command unrecognized

501

Syntax error in parameters or arguments

502

Command not implemented

503

Bad sequence of commands

504

Command parameter not implemented

521

 does not accept mail (see RFC1846)

530

Access denied

535

Authentication failed

550

Requested action not taken: mailbox unavailable

551

User not local; please try 

552

Requested mail action aborted: exceeded storage allocation

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

28 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

553

Requested action not taken: mailbox name not allowed

554

Transaction failed

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

29 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

7

Appendix A References

Table 3: Related Documents
SN

Document Name

Remark

[1]

RFC2821

Simple Mail Transfer Protocol

[2]

RFC3207

SMTP service extension for secure SMTP
over transport layer security

[3]

Quectel_EC2x&EG9x&EM05_TCP(IP)_AT_
Commands_Manual

Introduction about EC2x&EG9x&EM05
TCP/IP AT commands

[4]

Quectel_EC2x&EG9x&EM05_FILE_AT_
Commands_Manual

EC2x&EG9x&EM05 FILE application note

[5]

Quectel_EC25&EC21_AT_Commands_Manual

EC25&EC21 AT commands manual

[6]

Quectel_EG9x_AT_Commands_Manual

EG9x AT commands manual

[7]

Quectel_EM05_AT_Commands_Manual

EM05 AT commands manual

[8]

Quectel_EC2x&EG9x&EM05_SSL_AT_
Commands_Manual

Introduction about EC2x&EG9x&EM05
SSL AT commands

Table 4: Terms and Abbreviations
Abbreviation

Description

BCC

Blind Carbon Copy

CC

Carbon Copy

DNS

Domain Name Server

DTR

Data Terminal Ready

PDP

Packet Data Protocol

PPP

Point-to-Point Protocol

SMTP

Simple Mail Transfer Protocol

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

30 / 31

LTE Module Series
EC2x&EG9x&EM05 SMTP AT Commands Manual

SSL

Security Socket Layer

TLS

Transport Layer Security

EC2x&EG9x&EM05_SMTP_AT_Commands_Manual

31 / 31



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.6
Linearized                      : No
Encryption                      : Standard V4.4 (128-bit)
User Access                     : Print, Copy, Extract, Print high-res
Author                          : kelly
Create Date                     : 2017:12:08 13:57:04+08:00
Modify Date                     : 2017:12:08 14:00:47+08:00
Language                        : zh-CN
XMP Toolkit                     : Adobe XMP Core 4.2.1-c041 52.342996, 2008/05/07-20:48:00
Format                          : application/pdf
Creator                         : kelly
Creator Tool                    : Microsoft® Word 2010
Metadata Date                   : 2017:12:08 14:00:47+08:00
Producer                        : Microsoft® Word 2010
Document ID                     : uuid:75c92782-d0aa-44c5-8ce5-059494856e7c
Instance ID                     : uuid:20d534cd-15bb-4d1a-821b-5f61928b3642
Page Mode                       : UseOutlines
Page Count                      : 32
EXIF Metadata provided by EXIF.tools

Navigation menu