AT-Befehle: E-Mail mit Anhang versenden

Ich habe einen Telit GSM Click (GL865) gekauft, um ihn in meinem Projekt zu verwenden. Die Architektur besteht aus einem PIC-basierten Board mit zwei MikroBUS-Anschlüssen, ich habe einen für den Telit-GSM-Klick und den zweiten für die SD-Karte verwendet.

Ich habe den Telit GSM Click korrekt angeschlossen. Ich habe die SD-Karte richtig angeschlossen.

Ich kann vom Pic aus Dateien auf die SD-Karte lesen und schreiben. Ich gebe erfolgreich die AT-Befehle zum Senden von SMS und zum Senden von E-Mails aus.

Das Ziel: E-Mail mit Anhang versenden, per Telit GSM CLIK GL865.

Das Problem: Ich kann keine E-Mail mit angehängter Datei versenden. Ich habe versucht, dem Befehl einen Dateinamen zu geben, es funktioniert ohne Fehler, aber die empfangene E-Mail enthält nicht die vom Telit-Modem gesendete Datei, im Gegensatz dazu bekomme ich eine leere Datei mit demselben Dateinamen.

Beispiel:

  • AT#SMTPCL=\"myaddress@mymail.com\",\"testEmail\",1,\"test.txt\",0
  • dann gebe ich meinen Text aus (E-Mail-Text)
  • dann gebe ich die Escape-Sequenz aus (" +++")

Wobei: test.txt ist eine Textdatei (die etwas Text enthält) und auf der SD-Karte gespeichert.

Der obige Befehl funktioniert gut, ich erhalte die E-Mail (mit E-Mail-Text) mit einer leeren Datei "test.txt".

Ich denke, dass der AT-Befehl die Datei nicht findet, dann wird eine leere Datei mit demselben Dateinamen gesendet.

Ich denke, dass es eine Möglichkeit gibt, die Datei zu importieren, die vom Telit-Modem und den AT-Befehlen verwendet werden soll.

Ich habe die offizielle Telit-Dokumentation gelesen und im Internet gesucht, aber keine Lösung gefunden. Ich würde gerne Ihre wertvolle Unterstützung suchen und mir bitte sagen, wie ich es zum Laufen bringen kann, ich werde Ihnen sehr dankbar sein.

Mir ist unklar, wie Ihre SD-Karte mit dem GSM-Gerät verbunden ist. Wie erwarten Sie, dass das GSM-Gerät Dateien von der SD-Karte lesen soll? Vielleicht hilft eine Art Blockschaltbild...
Danke @brhans, die SD-Karte ist mit dem MikroBus-Anschluss verbunden und mit dem Pic-on-SPI-Modus verbunden. dropbox.com/s/aasi52n55f72di0/ex8MikroBus.jpg?dl=0
Wie lautet der Rückgabestatus des Befehls?
Das Foto macht Ihr Setup nicht viel klarer. Zeichnen Sie ein Blockdiagramm von Ihnen, wo Dinge miteinander verbunden sind. Ist die SD-Karte direkt mit dem GSM-Gerät verbunden oder sind sowohl GSM als auch SD-Karte einzeln mit Ihrem PIC-Board verbunden?
Es tut mir leid, tatsächlich kann ich kein Blockdiagramm erstellen, das Projekt ist von meinem Freund, er hat kein Stack-Profil, also bin ich es, der seine Frage postet ... lange Rede kurzer Sinn; Die Sache ist, dass sowohl die GSM- als auch die SD-Karte einzeln mit der PIC-Karte verbunden sind. Wir wissen nicht, wie die Datei importiert werden soll, die vom GSM-Modul angezeigt werden soll. Danke.
@yahya warum fragst du nicht den Hersteller?
Ich habe es bereits getan, sie haben noch nicht geantwortet, ich habe das Problem gelöst, siehe die Antwort und die Kommentare. Danke !

Antworten (1)

Laut Handbuch , Abschnitt 5.1.6.10.9. E-Mail mit Anhang senden - #SMTPCL:

AT#SMTPCL=<da>,<subj>,<att>[,<filename>,<encod>]

Dieser Befehl ermöglicht das Versenden einer E-Mail mit verschiedenen Arten von Anhängen, wenn der GPRS-Kontext bereits aktiviert wurde (#SGACT oder #GPRS). Nach dem Senden des Nachrichtentexts (wie bei #EMAILD) wechselt der Befehl in den Online-Modus, wenn der Anhang gesendet werden muss. Im Online-Modus werden auf der seriellen Schnittstelle empfangene Daten als MIME-Anhang auf dem SMTP-Socket übertragen. Die Escape-Sequenz muss gesendet werden, um die SMTP-Verbindung zu schließen

Mit anderen Worten, SIE sind dafür verantwortlich, den Inhalt der angehängten Datei zu senden, nachdem Sie den Text der E-Mail-Nachricht gesendet haben.

Dankeschön-Formular macht die Dokumentation übersichtlicher. Aber wie verschickt man den Inhalt? einer Textdatei vielleicht öffnen und den Text schicken, für ein Bild ? Öffnen Sie das Bild in Binary Read und senden Sie seinen Inhalt ?!
Es heißt "als MIME-Anhang", also würde ich erwarten, dass Sie die Datei öffnen und selbst als MIME codieren.
Danke ! Es ist zwar nicht schwer, aber deine Antwort hat mir geholfen, mich zu konzentrieren! Ich sende nur Text (oder binäre Daten), ohne MIME-Header zu setzen, da diese durch die AT-Befehlsoptionen (z. B. AT#SMTPCL) gesetzt werden! 1- AT-Befehl senden 2- Mail-Textkörper senden 3- Nur den Inhalt des Anhangs senden (denken Sie an den Online-Modus) 4- Escape-Sequenz "+++" senden