Exacttarget电子邮件:如何动态附加多个文件?

时间:2014-12-05 22:39:07

标签: exacttarget

我正在研究如何使用确切的目标发送电子邮件附件:(可能是多个)

http://help.exacttarget.com/en-US/documentation/exacttarget/content/email_attachments/

我无法按照以下说明进行硬编码:

%%=AttachFile("Portfolio","Example1")=%%
%%=AttachFile("Portfolio","Example2")=%%
%%=AttachFile("Portfolio","Example3")=%%
%%=AttachFile("Portfolio","Example4")=%%
%%=AttachFile("Portfolio","Example5")=%%

因为我需要发送的附件数量各不相同。

有没有人知道如何以编程方式实现这一目标?

非常感谢!

3 个答案:

答案 0 :(得分:0)

%% [IF Condition1 THEN] %%
%% = AttachFile( “组合”, “例1”)= %%

%% [ELSEIF Condition2 THEN] %%
%% = AttachFile( “组合”, “例1”)= %%
%% = AttachFile( “组合”, “示例2”)= %%

%% [ELSEIF Condition3 THEN] %%
%% = AttachFile( “组合”, “示例3”)= %%

%% [ELSEIF Condition4 THEN] %%
%% = AttachFile( “组合”, “示例3”)= %%
%% = AttachFile( “组合”, “范例4”)= %%

%% [ELSEIF Condition5 THEN] %%
%% = AttachFile( “组合”, “例1”)= %%
%% = AttachFile( “组合”, “例5”)= %%

%% [ELSE ENDIF] %%

答案 1 :(得分:0)

快速link以获取有关AMPScript中附件功能的更深入信息

在没有更多信息的情况下,我能想到的最好方法是在数据扩展中包含“附件1”,“附件2”等字段,并将这些字段填入位置,然后将位置包含为变量在attachfile中。

e.g。 %% = AttachFile(“投资组合”,[附件1])= %%

然后只使用IF Not EMPTY()等条件来决定应该执行哪些函数。

这样,您可以跨每个收件人动态编辑位置以及调用AttachFile的次数。这有点麻烦和麻烦,但再次没有更多信息这是我能做的最好。

答案 2 :(得分:0)

您如何知道附件的数量?在发送时间之前是否已知此预发送?这是触发发送还是用户启动?

根据这些答案,您可以通过多种方式实现这一目标。

我将探索的主要解决方案路径是执行某种LookupRows()或LookupOrderedRows()来检索要附加的文件,然后遍历这些行并附加文件。另外,需要注意的是AttachFile()函数需要在内联AMP脚本中执行,%% = AttachFile()= %%,而不是在AMP代码块中,%% [......] %%。

因此,您的代码可能类似于以下内容(我包含了托管在外部站点,ET FTP和产品组合中的文件示例):

%%[ VAR @sub, @fileDe, @files, @file, @fileUrl, @fileName, @fileExternalKey

    SET @sub = [_subscriberkey]
    SET @fileDE = "Name Data Extension holding attachment filename/url"

    /*LookupRows() from DE. Assumes data extension uses SubscriberKey as the foreign key*/
    SET @files = LookupRows(@fileDe,"SubscriberKey",@sub)

    /*Validate files were returned*/
    IF Rowcount(@files) > 0 THEN
        FOR @i = 1 TO Rowcount(@files) DO
            SET @file = Row(@files,@i)

            /*If you are using files hosted at an external HTTP/HTTPS location*/
            SET @fileUrl = Field(@file,"FileURL")
            ]%%
            %%=AttachFile("HTTP",@fileUrl)=%%
            %%[
            /*If you are using files hosted in the Import folder of the ExactTarget FTP*/
            SET @fileName = Field(@file,"FileName")
            ]%%
            %%=AttachFile("FTP",@fileName)=%%
            %%[
            /*If you are using files hosted in the ExactTarget Portfolio*/
            SET @fileName = Field(@file,"PortfolioFileExternalKey")
            ]%%
            %%=AttachFile("Portfolio",@fileExternalKey)=%%
            %%[
        NEXT @i
    ELSE
        /*No records returned for @files*/
    ENDIF
]%%
相关问题