Da es nicht nur hier im Forum Fragen bzw. Wünsche zum Thema Nachladen von Bildern bei Newsletter gab, habe ich folgende Vorlage zusammensgestellt.
Für Testzwecke habe ich folgende Einstellungen vorgenommen (diese müssen angepasst werden):
Im Verzeichnis "D:\Dev\TB!\" habe ich die Vorlagendatei (HtmlNews.txt) gespeichert und einen Filter für eine Testmail (Newsletter) angelegt (sh. unten).
Der Filter exportiert den Newsletter in eine Textdatei, die von der danach aufgerufenen Vorlage eingelesen wird. Bild-URLs werden ausgelesen und die Bilder heruntergeladen. Die Variable "%_LocalPrefix" beinhaltet den Speicherort der Bilder. Nach der Änderung des Nachrichtenquellcodes wird diese abgespeichert und in TB! importiert.
Der Import erfolgt im TB!-Ordner "HTML-Newsletter" (in der vorletzten Zeile der Vorlage).
Da der Filter eine neue Mail erstellt, um die Vorlage ausführen zu können, wird diese Mail in den Ordner "HTML-Newsletter\Temp" gespeichert. Über die Ordnereigenschaften kann der Temp-Ordner beim Beenden bereinigt werden, da diese Mails nicht mehr benötigt werden.
Nach dem Import wird die lokal gespeicherte Nachricht gelöscht, die Bilder bleiben jedoch gespeichert.
Da ich selbst (noch) keinen HTML-Newsletter bekomme, würde mich eure Meinung zu der Vorlage interessieren.
HtmlNews.txt
%REM="*** Initialisieren ***"%-
%_ImgExtList=".jpeg.jpe.jpg.gif.png"%-
%_LocalPrefix="D:\Dev\TB!\HTML"%-
%_LocalMsgFile="%_LocalPrefix\Msg_%DATE='hhnnsszzz'.eml"%-
%-
%REM="*** Nachricht laden, alle Links auslesen und Anzahl ermitteln ***"%-
%_MsgSource="%PUT='%_LocalPrefix\ExportedMessage.txt'"%-
%_UrlList="%XMP_XtrURLs('%_MsgSource','|')"%-
%-
%REM="*** Nur Bilder-Links speichern ***"%-
%XMP_For(#x#,#1#,#%XMP_StrItemCnt('%_UrlList','|')#,#%-
%%_ext=$%%XMP_StrRight("%%XMP_StrItem('%%_UrlList','|','%%_x')",4)$%-
%%IF:$%%XMP_StrPos("%%_ImgExtList","%%XMP_FileName('%%_ext','E')")$>$0$:$%-
%-
%%_ImageUrl="%%XMP_StrItem('%%_UrlList','|','%%_x')"%-
%%_LocalName="%%_LocalPrefix\%%XMP_StrMid('%%_ImageUrl',8)"%-
%%_LocalName="%%XMP_StrTr('%%_LocalName','/','\')"%-
%%_LocalPath="%%XMP_FileName('%%_LocalName','P')"%-
%%_RESULT="%%XMP_DirCreate('%%_LocalPath')"%-
%%_RESULT="%%XMP_UrlDldFile('%%_ImageUrl','%%_LocalName')"%-
%%_MsgSource="%%XMP_StrRepl('%%_MsgSource','%%_ImageUrl','%%_LocalName',1,1)"%-
%-
$:$$%-
#)%-
%-
%REM="*** Ausgabedatei löschen und veränderte Nachricht schreiben ***"%-
%_RESULT="%XMP_FileDel('%_LocalMsgFile')"%-
%_RESULT="%XMP_FileAddLn('%_LocalMsgFile','%_MsgSource')"%-
%-
%REM="*** The Bat! unsichtarb aufrufen und Nachricht importieren ***"%-
%XMP_Run('"%PROGRAMDIR\thebat.exe" /IMPORTF=HTML-Newsletter;FILE="%-
%_LocalMsgFile";del','HIDE')%-
Alles anzeigen
Filter:
$$$$ TB! Message Filter $$$$
beginFilter
UID: [1768DF16.01C5B275.56900E9A.45303506]
Name: Test\20-\20HTML-Newsletter
Filter: {\0D\0A\20`0`0`info@verybestonthenet.info\0D\0A}
ExportMessage OverwriteExist FmtRFC822 filename D:\5CDev\5CTB!\5CHTML\5CExportedMessage.txt filenamerelative D:\5CDev\5CTB!\5CHTML\5CExportedMessage.txt
CreateFormatted MarkRead Original AutoFolder template %INCLUDE\3D\22D:\5CDev\5CTB!\5CHtmlNews.txt\22\0D\0A\0D\0A folder \5C\5Ctest@tester.org\5CHTML-Newsletter\5CTemp
Delete
IsActive
Ignore
endFilter
Alles anzeigen
Als Anleitung bzw. Idee diente die folgende Vorlage von Konrad Szkudlarczyk:
%_path="%PROGRAMDIR\HTML"%-
%_file="%PROGRAMDIR\HTML\mail.txt"%-
%_dirid="%DATE='yymmdd'.%TIME='hh.mm-ss'"%-
%_message="%PUT='%_file'"%-
%_message="%XMP_Until(~message~,~~,~%-
%%SETPATTREGEXP='(?ism)(.*?)%-
(\=\n(?!((Message-ID|Date|In-Reply-To|X-Mailer|MIME-Version)\:|\=))|\z)%-
(.*)'%-
%%REGEXPBLINDMATCH(%%_message)%-
%%SUBPATT(1)%-
%%_message='%%SUBPATT(5)'%-
~)"%-
%_mess(%_message)%-
%XMP_Until(~mess~,~~,~%-
%%SETPATTREGEXP='(?ism)((\<IMG[^\>]+SRC|background)\=3?d?\"(http:\/\/.*?)\"|\z)(.*|\z)'%-
%%REGEXPBLINDMATCH(%%_mess)%-
%%_imagelink='%%SUBPATT(3)'%-
%%_mess='%%SUBPATT(4)'%-
%%IF:$%%_imagelink$<>$$:$%-
%-
%%_newlink=#%-
%%SETPATTREGEXP='\:\/\/(.*)'%%REGEXPMATCH='%%_imagelink'%-
#%-
%%_newlink='%%_path\%%XMP_StrTr(*%%_newlink*,*/*,*\*)'%-
%%_newlink='%%XMP_StrTr(*%%_newlink*,*=?&*,**)'%-
%-
%-
%%SETPATTREGEXP='(.*?)(\.(gif|jpg|png|bmp)|\z)(.*?)\Z'%-
%%REGEXPBLINDMATCH='%%SETPATTREGEXP=#.*\\(.*?)\z#%%REGEXPMATCH=#%%_newlink#'%-
%%_ext='%%SUBPATT="2"'%-
%%_reszta='%%SUBPATT="4"'%-
%%IF:"%%_ext"="":"%-
%%_newlink='%%_newlink.gif'%-
":"%%IF:#%%_reszta#<>##:#%-
%%_newlink='%%_newlink%%_ext'%-
#"%-
%-
%%XMP_DirCreate("%%SETPATTREGEXP='(.*)\\'%%REGEXPMATCH='%%_newlink'")
%%XMP_UrlDldFile("%%_imagelink","%%_newlink")%-
%-
%-
%%_newlink='%%XMP_StrTr(*%%_newlink*,*\*,*/*)'%-
%-
%%_message=#%%StrReplace('%%_message','"%%_imagelink"','"%%_newlink"')#%-
%%_mess='%%StrReplace("%%_mess","%%_imagelink","")'$%-
~)%-
%XMP_FileAddLn("%_path\message%_dirid.msg","%_message")%-
%XMP_Run%-
('%PROGRAMDIR\thebat.exe %-
/IMPORTF=HTML;FILE="%_path\message%_dirid.msg";del','HIDE')%-
Alles anzeigen