Gelöst

Die Nachricht wurde nicht an den SMTP-Server gesendet werden. Der Transportfehlercode lautet 0x800ccc6f. Die Serverantwort lautet 554 5.7.1 Datenbankf

vor 5 Jahren

Hello,

( I will write initially in both English and German , because my German is not so good. ( I am English , but live in Germany)

I have a computer program which was used by members of my family for some time, up until about a year ago, and worked reliably and consistently. It sent a shortl Email and a small File automatically. The sending address was one or more of our t-online.de Email accounts.

I would like to use that coding again. In testing over the last few days,  I have found that the coding no longer works with the t-online.de accounts )

 

The error which  is generated by the error handling which I included  in the program is always the same:

-2147220975:  Die Nachricht konnte nicht an den SMTP-Server gesendet werden. Der Transportfehlercode lautet 0x800ccc6f. Die Serverantwort lautet 554 5.7.1 Database error. / This is not one of your allowed aliases

 

Some other info of possible relevance.  …

_ I have tried checking, and resetting the „E-Mail-Passwort“ as in the below screen shots. This is the Password that must be added to the computer program ( The „sendusername“ )

Einstellung Passwoerter.JPG : https://imgur.com/uswYizR

2 Passwoerter.JPG : https://imgur.com/LDbarvU

Passwoeter fuer E Mail Programme aendern.JPG : https://imgur.com/E37FONM

Passwort fuer E Mail Programme vergeben.jpg : https://imgur.com/Qsl8Z1Z

_ The t-online accounts all work normally in manual use when I log in manually with the other „normal“ Password.

_ As Alternative, I have tried in the past a gmail account as the sender. These mostly worked previously, and in testing over the past few days , I find that  they mostly still are.

_ Two of the addresses were hacked some time ago. But that issue has been resolved ( https://telekomhilft.telekom.de/t5/Sonstiges/Fehlermeldung-Ein-Versand-der-Email-ist-nicht-moeglich-da-sie/m-p/3439435#M293120

https://telekomhilft.telekom.de/t5/Sonstiges/Fehlermeldung-Ein-Versand-der-Email-ist-nicht-moeglich-da-sie/m-p/3455022#M293767 )

_ I include a simplified version of my program below. ( I have replaced the real Email addresses and Passwords with made up ones )

 

 

 

 

Thanks for any help

Alan

 

_.__________________________________________________________

 

 

Hallo,

(Ich schreibe zunächst auf Englisch und Deutsch, weil mein Deutsch nicht so gut ist. (Ich bin Engländer, lebe aber in Deutschland)

Ich besitze ein Computerprogramm, das von Familienmitgliedern bis vor etwa einem Jahr einige Zeit benutzt wurde und zuverlässig und konsistent arbeitete. Es wurde automatisch eine kurze E-Mail und eine kleine Datei gesendet. Die Absenderadresse war einer oder mehrere unserer t-online.de-E-Mail-Accounts.

Ich würde diese Kodierung gerne wieder verwenden. Beim Testen in den letzten Tagen habe ich festgestellt, dass die Codierung mit den t-online.de-Accounts nicht mehr funktioniert.)

 

Der Fehler, der durch die im Programm enthaltene Fehlerbehandlung erzeugt wird, ist immer der gleiche:

-2147220975: Die Nachricht wurde nicht an den SMTP-Server gesendet werden. Der Transportfehlercode lautet 0x800ccc6f. Die Serverantwort lautet 554 5.7.1 Datenbankfehler. / Dies ist keiner deiner erlaubten Aliase

 

Einige andere Informationen von möglicher Relevanz. …

_ Ich habe versucht, das „„E-Mail-Passwort““ wie in den folgenden Screenshots zu überprüfen und zurückzusetzen. Dies ist das Passwort, das dem Computerprogramm hinzugefügt werden muss (Der „sendusername“)

Einstellung Passwoerter.JPG: https://imgur.com/uswYizR

2 Passwoerter.JPG: https://imgur.com/LDbarvU

Passwort für E-Mail-Programm aendern.JPG: https://imgur.com/E37FONM

Passwort für E Mail Programm vergeben.jpg: https://imgur.com/Qsl8Z1Z

_ Die t-online Accounts funktionieren alle normal im manuellen Gebrauch, wenn ich mich manuell mit dem anderen „normalen“ Passwort anmelde.

_ Als Alternative habe ich in der Vergangenheit ein Google Mail-Konto als Absender ausprobiert. Diese haben früher meistens funktioniert, und in den letzten Tagen habe ich festgestellt, dass sie es meistens immer noch meistens funktionierend.

_ Zwei der Adressen wurden vor einiger Zeit gehackt. Dieses Problem wurde jedoch behoben ( https://telekomhilft.telekom.de/t5/Sonstiges/Fehlermeldung-Ein-Versand-der-Email-ist-nicht-moeglich-da-sie/m-p/3439435#M293120

 https://telekomhilft.telekom.de/t5/Sonstiges/Fehlermeldung-Ein-Versand-der-Email-ist-nicht-moeglich-da-sie/m-p/3455022#M293767 )

_ Ich füge unten eine vereinfachte Version meines Programms hinzu. (Ich habe die echten E-Mail-Adressen und Passwörter durch erfundene ersetzt.)

 

Vielen Dank für jede Hilfe

Alan

 

 

 

_.___________________________-

 

 

Sub Testing_GermanTelekom_Send_Simplified()

 Call GermanTelekom_Send_Simplified("MrMustermann@t-online.de", "abcde12345")

End Sub

Sub GermanTelekom_Send_Simplified(ByVal UsrNme As String, ByVal PsWd As String) '

   With CreateObject("CDO.Message") '                  ' -------------------*  with LCDCW Library ( Linking Configuration Data Cods Wollups)  which are  used and items configured for the Exchange at Microsoft's protocol therof

    Dim LCD_CW As String: Let LCD_CW = "http://schemas.microsoft.com/cdo/configuration/"

     .Configuration(LCD_CW & "smtpusessl") = True '

     .Configuration(LCD_CW & "smtpauthenticate") = 1

    '  ' Sever info

     .Configuration(LCD_CW & "smtpserver") = "securesmtp.t-online.de" '

    '  The mechanism to use to send messages.

     .Configuration(LCD_CW & "sendusing") = 2

     .Configuration(LCD_CW & "smtpserverport") = 25 ' or 465

     .Configuration(LCD_CW & "sendusername") = UsrNme   '

     .Configuration(LCD_CW & "sendpassword") = PsWd

    ' Optional - How long to try                      ( End remote SMTP server configuration section )

     .Configuration(LCD_CW & "smtpconnectiontimeout") = 30 '

    ' Intraction protocol is Set/ Updated

     .Configuration.Fields.Update '

    'End With                                          ' -------------------* End with LCDCW Library ( Linking Configuration Data Cods Wollups)  which are  used and items configured for the Exchange at Microsoft's protocol therof

    ' Data to be sent

    .To = "MaxMustermann@t-online.de"

    .cc = "MaxHeadroom@gmail.com"

    .BCC = ""

    .from = """gMail_Send_Simplified"" <""" & UsrNme & """>"

    .Subject = "Hello from  " & UsrNme & "   using  gMail_Send_Simplified"     '

    .TextBody = "Hi" & vbNewLine & vbNewLine & "Testing. Please ignoor this EMail"

    ' Do it

     On Error GoTo Bed                                                                             ' Intended to catch a possible predicted error in the next line when running the routine

      .send

     On Error GoTo 0

    Debug.Print "Done " & Format(Now(), "hh mm") & "    with Username:  " & UsrNme & vbCr & vbLf

    End With '                                                       End With  CreateObject("CDO.Message") (Rem 1 Library End =======#

Exit Sub

Bed:

 Debug.Print "Fail " & Format(Now(), "hh mm") & "    with Username:  " & UsrNme & vbCr & vbLf & "  " & Err.Number & ":  " & Err.Description & vbCr & vbLf

End Sub

 

 

 

2 Passwoerter.JPG

Passwort fuer E Mail Programme vergeben.JPG

Einstellung Passwoerter.JPG

Passwoeter fuer E Mail Programme aendern.JPG

1864

2

  • Akzeptierte Lösung

    akzeptiert von

    vor 5 Jahren

     

    Hello

     

    Here is my first attempt at a solution.

    Beware it is a bit involved!!

     

     

    This article helped me:

    https://dbwiki.net/wiki/VBA_Tipp:_E-Mail_ohne_E-Mailprogramm_versenden_(CDO)

     

    That article helped me because the program shown in that article  had some  similarities to mine, and, it worked with my accounts.

     

    I was able to track down the problem to some strange characteristics in the string text supplied at the

    .From

     code line

     

    I expect there may have been some minor changes to how Telekom interprets the string text given at the

    .From

    Code line. ( Alternatively, I may have been careless and made some changes to the string in my programs and not fully tested to see if the changes had an effect on the working with Telekom accounts: Other providers interpret the string text in such a way that my original program as given above in my first contribution, works….)

     

    If I refer to the .From string, or .From text string, then I am referring to what VBA sees within the start and stop quotes in a code line of this sort of form :

    …….Message.From = “hjghg jhg “

    so in that example , I am talking about

    hjghg jhg

     

    _1) Some basic points: ( Relevant for when there in no < > pair in the .From string, and no Commas  ,  )

    It appears that within the string,        

    _ 1 you must have the @ text symbol

    __1(i)  and at least one more character  after it

    __ 1(ii) and it must be the last text in the string

     

    ___ 1(iii) You may have spaces after this text combination, ( but not then any further characters after the space – this would contradict _(ii) )

    ___1(iv) You may  include this text combination in quotes. (In the entire .From text string there can be either no quotes, or at lest a pair: There can also be  , 4 , 6  etc… : An odd number of quotes is never allowed. But there are more restrictions on this – see later ***

    ____1(v) In the first instance, you may have any text combinations  before this text combination,  including spaces and multiple text strings including some in quotes

    _____1(vi) but you must have at least one character before it, which may also be separated from the @ with spaces.

     

     

    To Demonstrate, here some examples ..

    _ If the code line does not work, I describe why in the given ‘ Fail: Comment. 

    In the examples below, if the  program will works , ( In the following list, that is those that have no ‘ comment ) ,  the Email which arrives will  show the Email address used in the program’s sendusername.

    As far as I can tell, the actual text used in the following examples has no relevance: As long as the rules given in _1 above are maintained then the program will work and the Email which arrives will  show the Email address used in the program’s sendusername code line – For example, imagine an Email address such as  MaxHaedroom@t-online.de  ,

    Then in that case , I would see this in the InBox list , .._

    MaxHaedroom InBox.JPG :  https://imgur.com/qxZyvAO , https://imgur.com/pou2a45

    _.. and this is how the Email looks

    Von_ MaxHaedroom in EMail.JPG : https://imgur.com/fXDCQO7

     

    Examples:

    .From = "  f    @wx"

    .From = "  f n   @wxyz     “

    .From = "  f n   ""k@wxyz""       "

    .From = "  f n   ""k @wxyz""       “

    .From = "  f    @w  x    "   '  Fail: contradicts _1(ii)

    .From = "e   g  ""@wxyz   ""  "   '  Fail: conradicts _1(ii)

    .From = "@wxyz"   '  Fail: contradicts _1(vi)

    .From = "e f 1234   g  hash@wxyz   "

    .From = "e f ""1234""   g  hash@wxyz   "

    .From = "This is a very long piece of text. It seems to have no effect    Dies ist ein sehr langer Text. Es scheint keine Wirkung zu haben     kjsh 12345   g  hash@wxyz   "  

     

    In the above working examples, if I had for example, some address like  MaxMustermann@t-online.de   used as the sending Email in the program line:

         .Configuration(LCD_CW & "sendusername") = "MaxHaedroom@t-online.de"

    then I would see that address in my InBox list, ( and also shown after Von: in the Email )

    MaxMustermann InBox.jpg : https://imgur.com/BPwYHBA

    Von: MaxMustermann.jpg : https://imgur.com/c5CUVmc

    ( if the address is recognised by a name in your addressee book, then in the Email after the Von: you will see that name instead: The Email address in this case is replaced by the name you have given in your address book !!!)

    '_--------------------------------

     

    _2) Choosing the text in the InBox list.

    _2a)  Using a single comma ,

    ­2a)(i) Using a comma at some distant point to the right of a long text

    You can choose to replace the email address in the InBox list, with some text of your choice, ( up to approx 24 characters)

    The use of a comma seems to set off the process to replace the EMail address with your text.

    For example, …

    _ this does not result in the process, and the InBox list shows the Email address used as the sending Email "sendusername"  code line

        .From = "123456789012345678901234567890 This is a very long piece of text. It ..... ..... kjsh 12345   g  hash@wxyz   "  

    The above program line has no comma anywhere.

    _ This next slightly modified line does result in a changed text in the InBox:

        .From = "123456789012345678901234567890 This is a very long piece of text. It ..... ..... kjsh 123,45   g  hash@wxyz   "  

    In the above program line, there is an additional  ,

    The result is that in the InBox we see

    12345678901234567890123…

    123456789012345678901234___.jpg : https://imgur.com/UgYK8oW

    ( Inside the Email, the Von: also shows the chosen text : Von_ has full longtext.JPG : https://imgur.com/FPi5XCM  )

     

    _2a)(ii) using a single comma within the first approx 24 characters

    In this case , the text after the comma is ignored.

    Example:

        .From = "12345678,9012345678901234567890 This is a very long piece of text. It ..... ..... kjsh 12345   g  hash@wxyz   "  

    Using the above example, you will see this in the InBox

    12345678 ,

    and after the Von: inside the Email : https://imgur.com/CZHyHSc  , (  unless the Email is recognised as one in your address book, in which case the name from your address book will be shown. This is perhaps  a bit unexpected, as it is replacing the 12345678 , with the name, rather than replacing the Email address with the name, as was noted as the case in 1)  !!! )

     

    _2b) Multiple commas

    If you use multiple commas, then as much as the text as possible , (up until the last , ) within the approx  24 characters will be given.

    Some examples, first the .From program line, and then the resulting text seen in the InBox List

        .From = "12345678,9012345678901234567890 This is a very long piece of te , xt. It ..... ..... kjsh 12345   g  hash@wxyz   "  

    12345678 , 90123456789012

        .From = "12345678,90123456789012 , 34567890 This is a very long piece of text. It ..... ..... kjsh 12345   g  hash@wxyz   "  

    12345678 , 90123456789012 ,

        .From = "12345678,9012345678901234567890 This is a very long pi , ece of text. It ..... ..... kjsh 12345   g  hash@wxyz   "  

    12345678 , 90123456789012…

        .From = "12345678,9012,345678901234567890 This is a very long piece of text. It ..... ..... kjsh 12345   g  hash@wxyz   "  

    12345678 ,  9012 ,

     

    Note,  that in the above examples, some of the approx 24 characters appear to be needed for the space and comma combinations

    ­­
    I am not sure what the significance is of this multi comma syntax characteristics ..

     

     

     

    2)c) The effect of quotes in the string.

    The use of quotes within the VBA string can also be used to allow choosing the text in the InBox list.

    How this is done is somewhat un simple..

     

    Note: we are talking about a quotes within a VBA string: The argument given in the right hand side of the  .From code line is an example of a VBA string. VBA strings are themselves typically written between a start and stop quote. This is simply syntaxly how VBA recognises a string. Consequently writing additional single quotes within that string causes problems because VBA will interpret that extra quote as an end quote. So syntax errors will likely occur.

    We find that adding a double quote does not lead to this syntax problem and instead causes a single quote to appear in the final string which VBA then uses.

    Hence the appearance of a “” pair in the below examples should  actually be viewed as a single quote in the actual text seen by VBA and used finally by VBA . In General , when I speak  about a single VBA quote , then it means a pair like this, “” , within the main string held between a single start quote and a single stop quote.

    So this text has   a single VBA quote, “    “”     “

    This text has  a pair of VBA quotes “    “”    “”    “ .

     In both cases  the string of text , ( in this case the text is quotes separated by spaces ) , is contained within a start and stop quote.

    VBA sees the first text as a set of spaces, a single quote,  and finally some more spaces.

     VBA sees the second text as a set of spaces, a single quote, some more spaces, another single quote, and finally some more spaces.

    The start and stop quote is the syntax in VBA coding required to tell VBA that a text is being given between those quotes. But VBA finally sees the text between only.

    The second case may be sometimes loosely referred to as a VBA quote pair.

    If I refer to the .From string, then I am referring to the characters within the start and stop quotes here

    Example:

    .From = “G  67u”

     In the example above,  the .From string is G 67u

     

    2)c)(i) We no longer can have a space before the @ if we want to choose the InBox text

    The following will not cause an error, and the Email will  be sent. But The InBox will show the Email address used in the program’s sendusername code line

       .From = "  nnnnnn  f "" n     m n"" n @wx   "

    The following will result in the text of nnnnnn f n m n in the InBox list.

     After the Von: In the Email this nnnnnn f n m n will appear , (  unless the Email is recognised as one in your address book, in which case the name from your address book will be shown. This is perhaps  a bit unexpected, as it is replacing the nnnnnn f n m n with the name, rather than replacing the Email address with the name, as was noted as the case in 1)  !!! )

    .From = "  nnnnnn  f "" n     m n"" n@wx   "

     

    2c)(ii) As seen from the above example, spaces of more than 1 are reduced to only  1 space

     

    2c)(iii) As noted previously, we must have a pair of ( double) quotes, ( 4 in total), but the position of the first one seems irrelevant: This following example will return the same string in the InBox list as previously, ( nnnnnn f n m n ) :

    .From = "  n""nnnnn  f  n     m n"" n@wx   "

     

    2c)(iv) The position of the second quote pair is important: It must be the at some point before the text connected to the @, but must be ether touching or only connected by spaces: These two will give us the chosen text of nnnnnn f n m n in the InBox list

    .From = "  n""nnnnn  f  n     m n""n@wx   "

    .From = "  n""nnnnn  f  n     m n""                n@wx   "

    But this next example  will result in the InBox text reverting back to the Email address used in the program’s sendusername code line (  unless the Email is recognised as one in your address book, in which case the name from your address book will be shown )

    .From = "  n""nnnnn  f  n     m n""       y     n@wx   "

     

     

    2d) effect of comma and quotes combination

    The results that I have seen so far suggest:

    2d)(i) If a comma appears within the pair of VBA quotes, then it is taken as a simple literal comma, rather than “text choice type” of comma discussed in 2a) and 2b) . So for example, this

    .From = "hhkhk,h  n""nnnn,n  f  n     m n""            n@wx   "

    will give us in the Email InBox list

    hhkhk , h n nnnn,n f n m n

    Note in that final string of text the extra “separating” spaces are missing from  before and after the second comma: The second comma does not appear to have the text separating function

    After the Von: In the Email this hhkhk , h n nnnn,n f n m n will appear , (  unless the Email is recognised as one in your address book, in which case the name from your address book will be shown. This is perhaps  a bit unexpected, as it is replacing the hhkhk , h n nnnn,n f n m n with the name, rather than replacing the Email address with the name, as was noted as the case in 1)  !!! )

     

    2d(ii) If the condition of 2c)(iv) is not met, then in the case of also having a comma outside the VBA quote pair, this will not , as in the last example in 2c)(iv)  result in the InBox text reverting back to the Email address used in the program’s sendusername code line. Instead , the text will be that given by the “text choice” comma. For example, this

    .From = "hhkhk,h  n""nnnn,n  f  n     m n""       kk     n@wx   "

    will result in the following in the InBox listing

    hhkhk ,  

    After the Von: In the Email this hhkhk , will appear , (  unless the Email is recognised as one in your address book, in which case the name from your address book will be shown. This is perhaps  a bit unexpected, as it is replacing the hhkhk , with the name, rather than replacing the Email address with the name, as was noted as the case in 1)  !!! )

     

    2e) Use of <   >  within the .From string

    2e)(i) any amount of paired <   > are syntaxly accepted within the .From string.

    The effect of having one or more paired < >in the .From string is ….

    2e)(ii) all text outside this is combined and taken to be the text that will be shown in the InBox list, but note that there are some restrictions on what must be inside any < > pair …..

    2e)(iii) There must be a @ in at least one of the < > pairs. This must not be in a  VBA quote pair. There must not be a VBA quote pair after it. There can be a VBA quote pair before it

    2e)(iv) Text included in a VBA quote pair will be taken as its  literal string , so as previously this will allow a comma  and additionally we can also have  a @.

    2e)(v) Any @ not included in a VBA quote pair must have some characters before it, which can also include spaces between the character and the @   For example, the next two examples  will error

    2e)(vi) The  < >  characters will always be ignored in the final text, even if they are included in a VBA quote pair.

     

    Here 6 working examples for 2e) , initially the .From code line, and then the resulting shown  text string appearing  in the InBox list

     

    .From = "  <   jjhh""h "" h  @ kk 89  uit> "

    In this case  in the InBox will be  the Email address used in the program’s sendusername code line , (  unless the Email is recognised as one in your address book, in which case the name from your address book will be shown )

     

       .Find = "hh  <  9  @  > ggt      <   jjhh""h "" h  @ kk 89  uit>  nn mk

    hh ggt nn mk

     

       .From = " m <   jjhh""h "" h  @ kk 89  uit> n"

    m n

     

        .From = "hh  <  9  @  m > ggt      <   jjhh""h "" h  @ kk 89  uit>  nn mk"

    hh ggt nn mk

     

      .From = "hh  ""<  @  >"" ggt      <   jjhh""h "" h  @ kk 89  uit>  nn mk"

    hh @ ggt nn mk

     

        .From = "hh  ""<  Spammer@t-online.de  >"" ggt      <   jjhh""h "" h  @ kk 89  uit>  nn mk"

    hh Spammer@t-online.de..

     

    Note: in the last 5 examples, after the Von: In the Email , the shown text string will appear , (  unless the Email is recognised as one in your address book, in which case the name from your address book will be shown. This is perhaps  a bit unexpected, as it is replacing the shown text string with the name, rather than replacing the Email address with the name, as was noted as the case in 1)  !!! )

     

    _.__________________

     

    I have not done extensive experimenting, so I expect that there may be other characteristics in addition to those noted above. I may not have all scenarios covered in my examples

     

    But I have a solution to my original problem, since I must correct my .From code line to suit the various options discussed.

     

    Here I have some further notes and example coding:

    http://www.excelfox.com/forum/showthread.php/2380-Tests-and-Notes-for-EMail-Threads?p=11547&viewfull=1#post11547

    http://www.excelfox.com/forum/showthread.php/2380-Tests-and-Notes-for-EMail-Threads?p=11543&viewfull=1#post11543

     

    _.______________________________________________________________________________

     

    Hallo

     

    Hier ist mein erster Lösungsversuch.

    Vorsicht, dicke Staubschicht!

     

    Dieser Artikel hat mir geholfen:

    https://dbwiki.net/wiki/VBA_Tipp:_E-Mail_ohne_E-Mailprogramm_versenden_(CDO)

     

    Dieser Artikel hat mir geholfen, da das in diesem Artikel gezeigte Programm einige Ähnlichkeiten mit meinem hatte und mit meinen Konten funktionierte.

     

    Ich konnte das Problem anhand einiger merkwürdiger Merkmale im Text der Zeichenfolge aufspüren

    .From

      Codezeile

     

    Ich gehe davon aus, dass es einige geringfügige Änderungen an der Interpretation des bei der Deutsche Telekom angegebenen Stringtextes gegeben haben könnte

    .From

    Codezeile. (Alternativ kann es sein, dass ich unachtsam war und einige Änderungen an der Zeichenfolge in meinen Programmen vorgenommen,  und nicht vollständig getestet habe, um festzustellen, ob sich die Änderungen auf die Arbeit mit Deutsche Telekom ausgewirkt haben: Andere Anbieter interpretieren den Zeichenfolgentext so, dass mein Original vorliegt Programm wie oben in meinem ersten Beitrag angegeben, funktioniert ....)

     

    Wenn ich mich auf die .From-Zeichenfolge oder die .From-Textzeichenfolge beziehe, beziehe ich mich auf das, was VBA in den Start- und Stop-Anführungszeichen in einer Codezeile dieser Art von Form sieht:

    …… .Message.From = “hjghg jhg“

    also in diesem Beispiel spreche ich über

    hjghg jhg

     

    _1) Einige grundlegende Punkte: (Relevant für den Fall, dass in der .From-Zeichenfolge kein <> Paar vorhanden ist und keine Ecken vorhanden sind.)

    Es scheint, dass in der Zeichenfolge,

    _ 1 Sie müssen das @ Textsymbol haben

    __1 (i) und mindestens ein weiteres Zeichen danach

    __ 1 (ii) und es muss der letzte Text in der Zeichenfolge sein

     

    ___ 1 (iii) Möglicherweise stehen nach dieser Textkombination Leerzeichen (jedoch keine weiteren Zeichen nach dem Leerzeichen). Dies würde _ (ii) widersprechen.

    ___ 1 (iv) Sie können diese Textkombination in Anführungszeichen setzen. (In der gesamten .From-Textzeichenfolge können entweder keine Anführungszeichen oder zumindest ein Paar vorhanden sein: Es können auch 4, 6 usw. vorhanden sein.): Eine ungerade Anzahl von Anführungszeichen ist niemals zulässig später ***

    ____ 1 (v) In der ersten Instanz stehen möglicherweise beliebige Textkombinationen vor dieser Textkombination, einschließlich Leerzeichen und mehrerer Textzeichenfolgen, einschließlich einiger in Anführungszeichen

    _____ 1 (vi), aber Sie müssen mindestens ein Zeichen davor haben, das auch durch Leerzeichen vom @ getrennt sein kann.

     

    Zur Demonstration hier einige Beispiele.

    _ Wenn die Codezeile nicht funktioniert, beschreibe ich den Grund in dem gegebenen 'Fail: Kommentar".

    Wenn in den folgenden Beispielen das Programm funktioniert (in der folgenden Liste sind dies diejenigen, die keinen Kommentar enthalten), wird in der eingehenden E-Mail die E-Mail-Adresse angezeigt, die im sendusername Codezeile des Programms verwendet wird.

    Soweit ich das beurteilen kann, hat der in den folgenden Beispielen verwendete tatsächliche Text keine Relevanz: Solange die in _1 angegebenen Regeln eingehalten werden, funktioniert das Programm und in der E-Mail, die eingeht, wird die E-Mail-Adresse angezeigt, die im sendusername Codezeile des Programms verwendet wird. - Stellen Sie sich zum Beispiel eine E-Mail-Adresse wie MaxHaedroom@t-online.de vor,

    In diesem Fall würde ich das in der InBox-Liste sehen, .._

    MaxHaedroom InBox.JPG: https://imgur.com/qxZyvAO, https://imgur.com/pou2a45

    _ .. und so sieht die Email aus

    Von_ MaxHaedroom in EMail.JPG: https://imgur.com/fXDCQO7

     

    Beispiele:

    .From = "  f    @wx"

    .From = "  f n   @wxyz     “

    .From = "  f n   ""k@wxyz""       "

    .From = "  f n   ""k @wxyz""       “

    .From = "  f    @w  x    "   '  Fail: contradicts _1(ii)

    .From = "e   g  ""@wxyz   ""  "   '  Fail: conradicts _1(ii)

    .From = "@wxyz"   '  Fail: contradicts _1(vi)

    .From = "e f 1234   g  hash@wxyz   "

    .From = "e f ""1234""   g  hash@wxyz   "

    .From = "This is a very long piece of text. It seems to have no effect    Dies ist ein sehr langer Text. Es scheint keine Wirkung zu haben     kjsh 12345   g  hash@wxyz   "

     

    Wenn ich in den obigen Arbeitsbeispielen zum Beispiel eine Adresse wie MaxMustermann@t-online.de als sendende E-Mail in der Programmzeile verwendet hätte:

          .Configuration (LCD_CW & "sendusername") = "MaxHaedroom@t-online.de"

    dann würde ich diese Adresse in meiner InBox-Liste sehen (und auch nach Von: in der E-Mail angezeigt)

    MaxMustermann InBox.jpg: https://imgur.com/BPwYHBA

    Von: MaxMustermann.jpg: https://imgur.com/c5CUVmc

    (Wenn die Adresse durch einen Namen in Ihrem Adressbuch erkannt wird, dann sehen Sie in der E-Mail nach dem Von: diesen Namen stattdessen: Die E-Mail-Adresse wird in diesem Fall durch den Namen ersetzt, den Sie in Ihrem Adressbuch angegeben haben !!! )

    '_--------------------------------

     

    _2) Wie mann kann Den Text in der InBox-Liste auswählen.

    _2a) Mit einem einzelnen Komma,

    ¬2a) (i) Verwenden Sie ein Komma an einer entfernten Stelle rechts von einem langen Text

    Sie können die E-Mail-Adresse in der InBox-Liste durch einen beliebigen Text ersetzen (bis zu ca. 24 Zeichen).

    Die Verwendung eines Kommas scheint den Vorgang auszulösen, bei dem die E-Mail-Adresse durch Ihren Text ersetzt wird.

    Beispielsweise, …

    _ Dies nächszte codezeile führt nicht zu dem Vorgang, und in der InBox-Liste wird die E-Mail-Adresse angezeigt, die als sendende E-Mail im "sendusername" codezeile verwendet wird

       .From = "123456789012345678901234567890 This is a very long piece of text. It ..... ..... kjsh 123,45   g  hash@wxyz   "

    Die obige Programmzeile hat nirgendwo eine comma.

    _ Diese nächste leicht geänderte Zeile führt zu einem geänderten Text in der InBox:

        .From = "123456789012345678901234567890 This is a very long piece of text. It ..... ..... kjsh 123,45   g  hash@wxyz   "

    In der obigen Programmzeile gibt es eine zusätzliche comma

    Das Ergebnis ist, dass wir in der InBox sehen:

    12345678901234567890123…

    123456789012345678901234 ___. Jpg: https://imgur.com/UgYK8oW

    (In der E-Mail wird im Von: auch der ausgewählte Text angezeigt:

    Von_ hat den vollständigen Langtext. JPG: https://imgur.com/FPi5XCM)

    _2a) (ii) Verwenden eines einzelnen Kommas innerhalb der ersten ca. 24 Zeichen

    In diesem Fall wird der Text nach dem Komma ignoriert.

    Beispiel:

        .From = "12345678,9012345678901234567890 This is a very long piece of text. It ..... ..... kjsh 12345   g  hash@wxyz   "

    Anhand des obigen Beispiels sehen Sie dies in der InBox

    12345678,

    und nach dem Von: in der E-Mail: https://imgur.com/CZHyHSc (es sei denn, die E-Mail wird in Ihrem Adressbuch als eine erkannt. In diesem Fall wird der Name aus Ihrem Adressbuch angezeigt. Dies ist möglicherweise ein bisschen Unerwartet, da es die 12345678 durch den Namen ersetzt, anstatt die E-Mail-Adresse durch den Namen zu ersetzen, wie unter 1) beschrieben !!! )

    _2b) Mehrere Kommas

    Wenn Sie mehrere Kommas verwenden, wird so viel Text wie möglich (bis zum letzten) innerhalb der ca. 24 Zeichen angegeben.

    Einige Beispiele, zuerst die .From-Programmzeile und dann der resultierende Text in der InBox-Liste

        .From = "12345678,9012345678901234567890 This is a very long piece of te , xt. It ..... ..... kjsh 12345   g  hash@wxyz   "  

    12345678 , 90123456789012

        .From = "12345678,90123456789012 , 34567890 This is a very long piece of text. It ..... ..... kjsh 12345   g  hash@wxyz   "  

    12345678 , 90123456789012 ,

        .From = "12345678,9012345678901234567890 This is a very long pi , ece of text. It ..... ..... kjsh 12345   g  hash@wxyz   "  

    12345678 , 90123456789012…

        .From = "12345678,9012,345678901234567890 This is a very long piece of text. It ..... ..... kjsh 12345   g  hash@wxyz   "  

    12345678 , 9012 ,

     

     

    Beachten Sie, dass in den obigen Beispielen einige der ca. 24 Zeichen für die Leerzeichen- und Kommakombinationen benötigt werden

    ¬¬

    Ich bin mir nicht sicher, welche Bedeutung die Eigenschaften dieser Mehrkommasyntax haben.

     

    2) c) Der Effekt von Anführungszeichen in der Zeichenkette.

    Die Verwendung von Anführungszeichen in der VBA-Zeichenfolge kann auch verwendet werden, um den Text in der InBox-Liste auszuwählen.

    Wie das gemacht wird ist etwas un einfach ..

    Hinweis: Es handelt sich um Anführungszeichen in einer VBA-Zeichenfolge: Das Argument auf der rechten Seite der .From-Codezeile ist ein Beispiel für eine VBA-Zeichenfolge. VBA-Zeichenfolgen werden normalerweise zwischen einem Start- und einem Stopp-Anführungszeichen geschrieben. Dies Es ist einfach syntaktisch, wie VBA eine Zeichenfolge erkennt.Das Schreiben zusätzlicher einfacher Anführungszeichen in dieser Zeichenfolge führt zu Problemen, da VBA dieses zusätzliche Anführungszeichen als Endanführungszeichen interpretiert.

     Syntaxprobleme dann erscheinen.

    Die anwendung zwei Anführungszeichen zusammen gibt keine Syntaxprobleme, und führt dazu, dass ein einfaches Anführungszeichen in der endgültigen Zeichenfolge erscheint, die VBA dann seht und verwendet. Daher sollte das Auftreten eines "" Paares in den folgenden Beispielen tatsächlich als einfaches Anführungszeichen im tatsächlichen Text angesehen werden, der schließlich von VBA  gesehen und verwendet wird. Wenn ich von einem einzelnen VBA-Anführungszeichen spreche, bedeutet dies ein Paar wie das folgende in der Hauptzeichenfolge zwischen einem einzelnen Start-Anführungszeichen und einem einzelnen Stopp-Anführungszeichen.

    Dieses Text enthält zwei VBA-Anführungszeichen  “    “”     “

     Dieser Text enthält zwei VBA-Anführungszeichen “    “”    “”    “ 

    In beiden Fällen ist die Textzeichenfolge (in diesem Fall der Text in Anführungszeichen, die durch Leerzeichen voneinander getrennt sind) in einem Start- und Stopp-Anführungszeichen enthalten.

    VBA sieht den ersten Text als eine Reihe von Leerzeichen, ein einfaches Anführungszeichen und schließlich einige weitere Leerzeichen.

    VBA betrachtet den zweiten Text als eine Reihe von Leerzeichen, ein einfaches Anführungszeichen, einige weitere Leerzeichen, ein weiteres einfaches Anführungszeichen und schließlich einige weitere Leerzeichen.

    Das Start- und Stopp-Anführungszeichen ist die Syntax in der VBA-Codierung, die erforderlich ist, um VBA mitzuteilen, dass zwischen diesen Anführungszeichen ein Text angegeben wird. Aber VBA sieht endlich nur den Text dazwischen.

    Der zweite Fall kann manchmal lose als VBA-Anführungszeichenpaar bezeichnet werden.

    Wenn ich mich auf die .From-Zeichenfolge beziehe, dann beziehe ich mich hier auf die Zeichen zwischen den Anführungszeichen für Start und Stopp

    Beispiel:

    .From = "G 67u"

     Im obigen Beispiel lautet der .From-String G 67u

     

    2) c) (i) Vor dem @ darf kein Leerzeichen mehr stehen, wenn der InBox-Text ausgewählt werden soll

    Das Folgende verursacht keinen Fehler und die E-Mail wird gesendet. In der InBox wird jedoch die E-Mail-Adresse angezeigt, die in der Codezeile für den Benutzernamen des Programms verwendet wird

        .From = "nnnnnn f" "n m n" "n @wx"

    Das Folgende ergibt den Text von nnnnnn f n m n in der InBox-Liste.

      Nach dem Von: In der E-Mail wird diese nnnnnn f n m n  angezeigt (es sei denn, die E-Mail wird in Ihrem Adressbuch als eine erkannt. In diesem Fall wird der Name aus Ihrem Adressbuch angezeigt. Dies ist möglicherweise etwas unerwartet, da er ersetzt wird das nnnnnn f n m n  mit dem Namen, anstatt die E-Mail-Adresse durch den Namen zu ersetzen, wie dies unter 1) vermerkt wurde !!! )

    .From = "  nnnnnn  f "" n     m n"" n@wx   "

     

    2c) (ii) Wie aus dem obigen Beispiel hervorgeht, werden Leerzeichen von mehr als 1 auf nur 1 Leerzeichen reduziert

     

    2c) (iii) Wie bereits erwähnt, müssen wir ein Paar (doppelte) Anführungszeichen (insgesamt 4) haben, aber die Position des ersten scheint irrelevant zu sein: In diesem folgenden Beispiel wird derselbe String in der InBox-Liste wie zuvor zurückgegeben , ( nnnnnn f n m n 😞

    .From = "  n""nnnnn  f  n     m n"" n@wx   "

     

    2c) (iv) Die Position des zweiten Anführungszeichenpaares ist wichtig: Es muss sich irgendwann vor dem mit dem @ verbundenen Text befinden, muss aber ätherberührend oder nur durch Leerzeichen verbunden sein: Diese beiden geben uns den gewählten Text von nnnnnn f n m n in der InBox-Liste

    .From = "  n""nnnnn  f  n     m n""n@wx   "

    .From = "  n""nnnnn  f  n     m n""                n@wx   "

    In diesem nächsten Beispiel wird der InBox-Text jedoch wieder auf die E-Mail-Adresse zurückgesetzt, die in der Codezeile für den sendusername codezeile des Programms verwendet wird (es sei denn, die E-Mail wird als eine in Ihrem Adressbuch erkannt. In diesem Fall wird der Name aus Ihrem Adressbuch angezeigt.)

    .From = "  n""nnnnn  f  n     m n""       y     n@wx   "

     

     

    2d) Auswirkung der Kombination von Komma und Anführungszeichen

    Die Ergebnisse, die ich bisher gesehen habe, legen nahe:

    2d) (i) Wenn ein Komma in den VBA-Anführungszeichenpaaren vorkommt, wird es als einfaches wörtliches Komma und nicht als „Textauswahl“ des in 2a) und 2b) beschriebenen Kommas verwendet. Also zum Beispiel dieses

    .From = "hhkhk,h  n""nnnn,n  f  n     m n""            n@wx   "

    wird uns in der Email InBox Liste geben

    hhkhk , h n nnnn,n f n m n

    Beachten Sie, dass in der letzten Textzeichenfolge die zusätzlichen Lücken vor und nach dem zweiten Komma fehlen: Das zweite Komma scheint keine Funktion zur Trennung von Text zu haben

    Nach dem Von: In der E-Mail wird dieses hhkhk , h n nnnn,n f n m n  angezeigt (es sei denn, die E-Mail wird als eine in Ihrem Adressbuch erkannt. In diesem Fall wird der Name aus Ihrem Adressbuch angezeigt. Dies ist möglicherweise ein wenig unerwartet weil es das  ersetzt hhkhk , h n nnnn,n f n m n durch den Namen, anstatt die E-Mail-Adresse durch den Namen zu ersetzen, wie es in 1) vermerkt wurde !!! )

     

     

    2d (ii) Wenn die Bedingung von 2c) (iv) nicht erfüllt ist, führt dies, wenn auch ein Komma außerhalb des VBA-Anführungszeichenpaares vorhanden ist, nicht wie im letzten Beispiel von 2c) (iv) zu InBox-Text, der auf die E-Mail-Adresse zurückgreift, die in der Codezeile für den Benutzernamen des Programms verwendet wird. Stattdessen wird der Text durch das Komma "Textauswahl" angegeben. Zum Beispiel mit dies

    From = "hhkhk,h  n""nnnn,n  f  n     m n""       kk     n@wx   "

    dann In der InBox-Liste wird Folgendes angezeigt

    hhkhk ,

    Nach dem Von: In der E-Mail wird dieses hhkhk , angezeigt (es sei denn, die E-Mail wird als eine in Ihrem Adressbuch erkannt. In diesem Fall wird der Name aus Ihrem Adressbuch angezeigt. Dies ist möglicherweise etwas unerwartet, da es ersetzt wird das hhkhk , mit dem Namen, anstatt die E-Mail-Adresse durch den Namen zu ersetzen, wie in 1) vermerkt !!! )

     

    2e) Verwendung von <> innerhalb des .From-Strings

    2e) (i) Jede Menge von gepaarten < > wird syntaktisch innerhalb des .From-Strings akzeptiert.

    Der Effekt eines oder mehrerer gepaarter <  > in der .From-Zeichenfolge ist....

    2e) (ii) Der gesamte Text außerhalb dieses Feldes wird kombiniert und als der Text angesehen, der in der InBox-Liste angezeigt wird. Beachten Sie jedoch, dass es einige Einschränkungen für das gibt, was in einem <   > -Paar enthalten sein muss....

    2e) (iii) In mindestens einem der <> Paare muss ein @ vorhanden sein. Dies darf nicht in einem VBA-Anführungszeichenpaar enthalten sein. Darauf darf kein VBA-Anführungszeichenpaar folgen. Es kann ein VBA-Anführungszeichenpaar davor die @ geben

    2e) (iv) Text, der in einem VBA-Anführungszeichenpaar enthalten ist, wird als Literalzeichenfolge verwendet, so dass wie zuvor ein Komma zulässig ist und wir zusätzlich auch ein @ haben können.

    2e) (v) Jedes @, das nicht in einem VBA-Anführungszeichenpaar enthalten ist, muss einige Zeichen enthalten, die auch Leerzeichen zwischen dem Zeichen und dem @ enthalten können. In den nächsten beiden Beispielen wird beispielsweise ein Fehler angezeigt

    2e)(vi) Die Zeichen < > werden im endgültigen Text immer ignoriert, auch wenn sie in einem VBA-Anführungszeichenpaar enthalten sind.

     

    Hier 6 beispielefür 2e) ,  die nicht eine fehler erzeugung , zunächst die .From-Codezeile und dann die resultierende angezeigte Textzeichenfolge, die in der InBox-Liste angezeigt wird

     

    .From = "  <   jjhh""h "" h  @ kk 89  uit> "

    In diesem Fall wird in der InBox die E-Mail-Adresse angezeigt, die in der sendusername Codezeile für den Absendernamen des Programms verwendet wird (es sei denn, die E-Mail wird in Ihrem Adressbuch als eine erkannt. In diesem Fall wird der Name aus Ihrem Adressbuch angezeigt.)

     

       .Find = "hh  <  9  @  > ggt      <   jjhh""h "" h  @ kk 89  uit>  nn mk

    hh ggt nn mk

     

       .From = " m <   jjhh""h "" h  @ kk 89  uit> n"

    m n

     

        .From = "hh  <  9  @  m > ggt      <   jjhh""h "" h  @ kk 89  uit>  nn mk"

    hh ggt nn mk

     

      .From = "hh  ""<  @  >"" ggt      <   jjhh""h "" h  @ kk 89  uit>  nn mk"

    hh @ ggt nn mk

     

        .From = "hh  ""<  Spammer@t-online.de  >"" ggt      <   jjhh""h "" h  @ kk 89  uit>  nn mk"

    hh Spammer@t-online.de..

     

    Hinweis: In den letzten 5 Beispielen wird nach Von: In der E-Mail die angezeigte Textzeichenfolge angezeigt (es sei denn, die E-Mail wird in Ihrem Adressbuch als eine erkannt. In diesem Fall wird der Name aus Ihrem Adressbuch angezeigt ist vielleicht ein bisschen unerwartet, da es die angezeigte Textzeichenfolge durch den Namen ersetzt, anstatt die E-Mail-Adresse durch den Namen zu ersetzen, wie in 1) erwähnt wurde !!! )

     

    Ich habe keine umfangreichen Experimente durchgeführt, daher gehe ich davon aus, dass es zusätzlich zu den oben genannten Merkmalen noch weitere Merkmale gibt. Möglicherweise werden in meinen Beispielen nicht alle Szenarien behandelt

     

    Aber ich habe eine Lösung für mein ursprüngliches Problem, da ich meine .From-Codezeile korrigieren muss, um den verschiedenen diskutierten Optionen zu entsprechen.

     

    Hier habe ich einige weitere Notizen und Codierungsbeispiele:

    http://www.excelfox.com/forum/showthread.php/2380-Tests-and-Notes-for-EMail-Threads?p=11547&viewfull=1#post11547

    http://www.excelfox.com/forum/showthread.php/2380-Tests-and-Notes-for-EMail-Threads?p=11543&viewfull=1#post11543

    0

    Uneingeloggter Nutzer

    Antwort

    von