_INetSmtpMail() - Mehrere Empfänger & Umlaute

  • Hallo,

    ich nutze die Funktion _INetSmtpMail() um Mails zu verschicken.
    Nun habe ich 2 Fragen dazu:

    • Ist es mit dieser Funktion auch möglich mehrere Empfänger gleichzeitig einzutragen oder muss ich die Funktion 2x hintereinander ausführen?
    • Wenn ich Umlaute schicke, dann werden diese nicht korrekt übernommen. Gibt es da eine Möglichkeit, dass die Zeichen korrekt angezeigt werden?

      Code
      Ausgangstext:
      Böse Straßen sind ein muß.
      Code
      Empfangener Text:
      Bvse Stra_en sind ein mu_.

    2 Mal editiert, zuletzt von reeky (16. Oktober 2013 um 18:17) aus folgendem Grund: 2. Frage hinzugefügt.

  • Hier habe ich mal ein kleines Update zu meinen 2 Fragen:

    • Also mit dieser Funktion ist es ohne eine Änderung nicht möglich. Der Empfänger muss laut SMTP-Protokoll einzeln gesendet werden und das Zeile für Zeile. Die Funktion müsste so angepasst werden, dass folgender Code in einer Schleife ausgeführt wird:
      [autoit]$s_Send[2] = "RCPT TO: <" & $s_ToAddress & ">" & @CRLF
      $s_ReplyCode[2] = "250"[/autoit]
      Durch eine einfach Abänderung mit Stringsplit und einem Semikolon als Delimiter, könnten mehrere Empfänger eingetragen werden. Jedoch müsste die gesamte Funktion verändert werden, da das Array $s_Send sich vollständig verschieben würde. Ebenfalls müssten dann die Error-Codes angepasst werden.
      Da mir der Aufwand zu groß ist, habe ich es dabei gelassen und die Funktion einfach 2x hintereinander ausgeführt.


    • Noch ein Paar Background-Infos:
      Das Programm soll später Emails über einen MS Exchange Server verschicken. Geöffnet werden die Mails dann in dem Client MS Outlook 2007 und 2010. Da ich keinen Zugriff auf den Exchange Server habe und das Programm immer nur zum Kunden schicke, musste ich mit einem anderen Mail-Server arbeiten.

      Zu Beginn bin ich über den Mail-Server von Arcor gegangen. Dort trat das Problem mit den Umlauten das erste mal auf. Als Client habe ich Outlook 2010 verwendet.

      Heute habe einen eigenen Mail-Server zum testen Installiert: Installations-Anleitung
      Zunächst habe ich wieder über Outlook 2010 die Mails abgerufen. Zum testen habe ich dann mal den Thunderbird als Client verwendet und siehe da, dort wurden die Umlaute korrekt angezeigt. Nach einer weile Lesen stellte ich fest, dass das Problem bei Outlook liegt. Durch diesen Beitrag habe ich dann feststellen können, dass es nur an einem Problem von Outlook liegt.

      Mich verwundert nur, dass der Umlaut-Fehler bei mir nun zum ersten Mal aufgetreten ist und sonst bei keinen anderen Mails.

    Lösung:
    Ich habe jetzt in der UDF Inet.au3 ab Zeile 171 folgendes geändert (siehe charset):

    [autoit]

    $s_Send[4] = "From:" & $s_FromName & "<" & $s_FromAddress & ">" & @CRLF & _
    "To:" & "<" & $s_ToAddress & ">" & @CRLF & _
    "Subject:" & $s_Subject & @CRLF & _
    "Mime-Version: 1.0" & @CRLF & _
    "Date: " & _DateDayOfWeek(@WDAY, 1) & ", " & @MDAY & " " & _DateToMonth(@MON, 1) & " " & @YEAR & " " & @HOUR & ":" & @MIN & ":" & @SEC & $bias & @CRLF & _
    "Content-Type: text/plain; charset=ISO-8859-1" & @CRLF & _
    @CRLF

    [/autoit]



    _

    Einmal editiert, zuletzt von reeky (16. Oktober 2013 um 16:35)