Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Overview

FTPZIP is a MailUp application that allows to send an email message to a defined list of recipients by simply uploading a ZIP archive to an FTP location.

This features is typically used by advanced users that have a need for configuring and sending a campaign without accessing the MailUp admin console, and without using the MailUp APIs.

Info
titleOptional feature

Note that this is a special configuration can be optionally set up on your MailUp account and additional fees may apply.

Please contact our Sales Department or your account manager to request this feature enabled for your Admin account, our technicians will then set it up based on the agreed specifications.

 

Depending on what you are trying to accomplish, you can enclose in the ZIP archive different kinds of files such as:

  • An xml file, called settings.xml (it will be used to described desired behavior of FTPZIP).
  • A CSV file containing recipients for the campaign.
  • An email message in HTML format.
  • Images that the HTML refers to.
  • Attachments to be sent with the campaign, if any.

Based on the information enclosed in settings.xml, it is possible to drive the behavior of FTPZIP application and manage the following use cases:

  • Send an already defined email message to a list of recipients.
  • Send a copy of an already defined email message to a list of recipients. 
  • Create and send an email message to a list of recipients.
  • Create an email message.

Send of email message to a list of recipients. can be executed in two different ways:

  • Using MailUp Massive Send engine (here)
  • Using MailUp Transactional Send engine (here)

How to configure the settings.xml file to manage various use cases and kind of mailing is described here

FTPZIP Massive Send Engine workflow representation AnchorFTPZIP MassiveFTPZIP Massive

Image Removed

In case FTPZIP will use the MailUp Massive Send engine, The subscribers presents in the CSV will be imported in MailUp Database and email message will be send using the Campaign Sender engine, as a common mailing executed using the MailUp Web Application.

When FTPZIP work in this way:

  • All data of the subscribers will be imported in the MailUp Account Database, included personal data. So this is a real Data Sync and imported data could be used for search scope in the MailUp Web Application.
  • It have to be used when users need to import sporadically a great number of subscribers.
    Management of more ZIP archive received at the same time isn't guarantee. 
FTPZIP Transactional Send Engine workflow representation  AnchorFTPZIP TransactionalFTPZIP Transactional

Image Removed

 

In case FTPZIP will use the MailUp Transactional Send engine, personal data of the subscribers presents in the CSV won't be imported in MailUp Database and email message will be send using the SMTP+ engine.

When FTPZIP work in this way:

  • Subscribers will be subscribed to MaliUp list but personal data won't be imported in the MailUp Account Database. This isn't a real Data Sync and provided personal data can't be used for search scope in the MailUp Web Application.
  • In each case provided Personal Data can be used to customize email message layout using the MailUp standard dynamic fields functionalities. 
  • It have to be used when users need to import a great number of zip archive at the same time with a reduced number of Subscribers. (For Instance sending of messages in a near real time scenario).
  • To work is necessary that the SMTP+ functionality is enabled for the MailUp Account.
  • FTPZIP manage only immediate Transactional Mailing. Mailing schedulation isn't foreseen at the moment.

 

Details about SMTP+ engine and his features here.

Table of contents
Toc

 

 

Recommended Software

Settings, tools and software we recommend to make use of FTPZIP the proper way include...

  • A valid MailUp account
  • A valid MailUp FTP account: please ask your sales representative to create one for you. As mentioned above, additional fees may apply.
  • An FTP client such as FileZilla is highly recommended even if not strictly necessary.
  • A text editor such as Notepad++ is recommended, even though Windows notepad is fine either way.
  • A Zip software such as WinZip or WinRAR. (Windows users). If you’re using MAC OSX you won’t need any additional software to pack your files into an archive.
  • We recommend acquaintance and familiarity with XML, HTML and CSV formats.

Why using a ZIP archive?

What has a Zip file to do with the dispatch or with the creation of an email campaign? The Zip archive is nothing more than a container that FTPZIP will unpack and process to create a campaign and/or to schedule it for sending. Depending on the actual scope of the upload, the submitted ZIP archive may enclose different sets of files in there. 

Normally FTPZIP will expect a ZIP archive made of :

  • A file called Settings.xml that will contain general settings (Required)
  • A file called Markup.htm that will contain the HTML email message (Optional for ActionType=="send". Required for ActionType == "full" )
  • A file called Recipients.csv that will contain the campaign recipients (Optional for ActionType=="save". Required only for ActionType == “full”)
  • Image files (Optional)
  • Attachments folder (Optional, only if Attachments key == “true” in your Settings.xml file)
    Note
    titleStrict file naming conventions
    Settings.xml, Markup.htm and Recipients.csv must follow this strict naming convention. The file name is case sensitive. File names other that Markup.htm, Recipients.csv and Settings.xml won’t be accepted by the application and a validation error will be returned. You can name your zip as you like instead as there's no restriction with the archive naming convention.
    Table of contents
    Toc

     

     

    Settings.xml 
    Anchor
    Settings.xml
    Settings.xml

    It is the only mandatory content of the ZIP Archive.
    Settings.xml
     will contain in XML format:

    • the target list the process will run against
    • the campaign subject
    • sender name and email
    • many other settings FTPZIP will read before running each process

    XML structure is divided in three main nodes:

    • Header: General data regarding FTPZIP operations
    • Content: Data about the Mailing that will be executed
    • AdvancedSettings: Data about message creation, Kind of Mailing, CSV File features.

     

    Below a working example. In most cases you can copy this xml content and use it for your own purposes, of course changing the variables that need to be changed to match you MailUp account and campaign needs.

    Note

    All xml keys are required even though some values can be omitted. ( such as SenderName or ScheduleDateTime ).

    Code Block
    languagexml
    titleSettings.xml
    firstline1
    linenumberstrue
    <?xml version="1.0" encoding="UTF-8"?>
    <FtpZip>
        <Header>
            <ActionType>full</ActionType>  
    		<CampaignCode>Campaign0009</CampaignCode>   
    		<FormatVersion>0.1</FormatVersion>
    		<NotifyEmail>peter@example.com</NotifyEmail>
        </Header>
        <Content>
            <ListId>1</ListId>
    		<ListGUID>08c6348c-1e6b-4ae7-b44c-156fc4a7f012</ListGUID>
            <SenderName>John Doe</SenderName>
            <SenderEmail>john@doe.com</SenderEmail>
            <ReplyToEmail>jane@doe.com</ReplyToEmail>
    		<EmailSubject>Campaign0009</EmailSubject>
    		<ScheduleDateTime>2014-11-04T11:20:00.000</ScheduleDateTime>
    		<ScheduleTimeZone>6</ScheduleTimeZone>
            <Notes>Notes for campaign 00009</Notes>
        </Content>
        <AdvancedSettings>
            <Separator>;</Separator>   
    		<Attachments>false</Attachments> 
    		<DynamicFields>true</DynamicFields>
    		<EmbeddedImages>false</EmbeddedImages>
    		<LinkTracking>true</LinkTracking>
    		<HttpLinkTracking>true</HttpLinkTracking>
    		<HttpsLinkTracking>true</HttpsLinkTracking>    
    		<MailToTracking>false</MailToTracking>
    		<FtpTracking>true</FtpTracking>
    		<NewsTracking>true</NewsTracking>
    		<QueryStringAdditionalParams></QueryStringAdditionalParams>
            <ContentOverride>
                <MessageId>1136</MessageId>
                <CloneMessage>true</CloneMessage>
            </ContentOverride>
            <SendType>transactional</SendType>
            <Transactional>
    			<Username>sxxxxxxx</Username>
    			<Password>xxxxxxxx</Password>
    			<AggregationCode>xxxxxxx</AggregationCode>
    			<KeepDuplicates>false</KeepDuplicates>
    		</Transactional>
        </AdvancedSettings>
    </FtpZip>

    Input fields detail

    Expand
    titleClick here to see settings details

    Node <Header>

    Name

    Type

    Requires value?

    Sample values

    Meaning

    Notes

    ActionType

    string

    Y

    One between "save", "full" or "send"

    The kind of action FTPZIP will take with regard to the submitted ZIP archive.  When set to save, FTPZIP will only create an email message without importing any recipient or scheduling any mailings.

    ActionType is a very important field as its value drives a big shift in the executed tasks.

    CampaignCode

    string

    Y

    Any

    This is a unique identifier for the campaign. FTPZIP will read this value at each session to prevent users from uploading the same campaign twice by mistake.

     

    FormatVersion

    string

    Y

    < 0.1 | 0.2 >

    This value indicates the kind of xml validation FTPZIP wil run. Current implemented format is 0.1, and it will run xml validation againts its xsd schema definition file.

     

    NotifyEmailStringNpeter@example.comAn email report containing the process result (success/failure) is sent to the specified address.Recommended, it is the only way to receive an automated notification in case of errors

     

    Node <Content>

    Name

    Type

    Requires value?

    Sample values

    Meaning

    Notes

    ListId

    int

    Y

    < 1 | 2 | 3 >

    The numeric identifier for the List in the MailUp account in which the various tasks will be executed (creation of the message, import of recipients, etc.). This is unique within a MailUp account, but not across MailUp accounts.

    To locate your lists id’s please see: http://help.mailup.com/display/mailupapi/Codes+Table+and+List+GUID

    ListGUID

    String

    Y

    b947d468-2751-40a7-83bf-1ecca0bbd6a1

    The unique identifier for each List across all MailUp accounts. ListID and ListGUID must refer to the same List.

    To locate your lists Guid’s, please see: http://help.mailup.com/display/mailupapi/Codes+Table+and+List+GUID

    SenderName

    String

    N

     

    The display name for the sender in the campaign being created/sent

    If empty, the default value for the List will be used.

    SenderEmail

    String

    N

     

    The email address that the campaign will be sent from

    If empty, the default value for the List will be used.

    Mind that this is not an arbitrary field, the sender Email has to be approved withing your admin account to prevent any kind spam like activities.

    ReplyToEmailStringNexample@email.comThe email address used when the subscriber reply to the received campaign.If empty, the default value for the List will be used.
    EmailSubject

    String

    N

     

    The email message subject

     

    Notes

    String

    N

     This is a note

    The email message note

     

    ScheduleDateTime

    String

    N

     

    The date/time at which the campaign will be sent. If time is too close to current time, or already in past, or left empty, campaign will be sent out immediately.

    If you upload many ZIP files with the same scheduled date and time, mailing will run in parallel.

    If you upload many ZIP files without a scheduled date, mailing will run sequentially, according to the file detection order.

    If the scheduled date and time is earlier than the actual processing time, the scheduled date&time will be ignored and mailing will be sequential

     

    Transactional Mailing can't be scheduled, so this configuration will be ignored if SendType is transactional.

    ScheduleTimeZone

    StringN6The time zone schedulation will occur for.Please see the time zone reference at the bottom of this section.

    if unspecified it will be used western european standard time zone as default. ( GMT+ 1 ). 38 will be used as default when this values has not been specified.

    It also takes into consideration Daylight saving time for each area.

     

    Transactional Mailing can't be scheduled, so this configuration will be ignored if SendType is transactional.

     

    Node AdvancedSettings

    Name

    Type

    Requires value?

    Sample values

    Meaning

    Notes

    Separator

    String

    Y if ActionType set to Full, N if set to Newslettter

    ;

    The column delimiter used in the Recipients.csv file.

     

    Attachments

    Bool (string)

    Y

    < true  | false >

    Attach files to current mailer campaign

    If set to true FTPZIP will expect the folder attachments to be included in the submitted ZIP archive

    DynamicFields

    Bool (string)

    Y

    < true  | false >

    Toggles dynamic fields

     

    EmbeddedImages

    Bool (string)

    Y

    < true  | false >

    Toggles use of embedded images

     

    LinkTracking

    Bool (string)

    Y

    < true  | false >

    Toggles link tracking

     

    HttpLinkTracking

    Bool (string)

    Y

    < true  | false >

    Toggles plain http link tracking

     

    HttpsLinkTracking

    Bool (string)

    Y

    < true  | false >

    Toggles https link tracking

     

    MailToTracking

    Bool (string)

    Y

    < true  | false >

    Toggles Mailto tracking

     

    FtpTracking

    Bool (string)

    Y

    < true  | false >

    Toggles FTP tracking

     

    NewsTracking

    Bool (string)

    Y

    < true  | false >

    Toggles News Tracking

     

    QueryStringAdditionalParams

    String

    N

    utm_medium=email&utm_campaign=Nov14+offers

    Appends a querystring to all included links

    Suitable for third party campaign tracking systems such as Google Analytics

    PreHeaderStringNThis is a preheaderString that will be added to the email message head as preheader. 
    ContentOverride/MessageIdIntN25MessageId is the newsletterID to be used for the outgoing campaigns; it will be taken into consideration only for ActionType "send"Suitable when you send the same message repeatedly and don't need to create each time a fresh new one.
    ContentOverride/CloneMessageBool
    (string)
    N< true  | false >

    Create a copy of the newsletter described in MessageID Fields.
    The copy will be sent.

    Suitable when you send the same message repeatedly but wan't see separated statistics in the MailUp Web Application..
    SendTypeStringNtransactionalDefine the kind of mailing that will be used (if transactional or massive).If node isn't defined, default mailing is Massive.
    Transactional/UserNameStringY if SendType is transactional SMTP+ User by means of Mailing will be executedThis node will be used only if SendType is transactional, otherwise will be ignored.
    Transactional/PasswordStringY if SendType is transactional Password of SMTP+ User by means of Mailing will be executedThis node will be used only if SendType is transactional, otherwise will be ignored.
    Transactional/AggregationCodeStringN A free code that will be used to aggregate statistics of executed Mailing.

    This node will be used only if SendType is transactional, otherwise will be ignored.


    If not defined, statistics will be separated by file.

    Transactional/KeepDuplicatesBool
    (string)
    N 

    If false, if recipients.csv contains the same email address more time, only the first will be use. So the email message will be sent only once to an email address.

    If true, if recipients.csv contains the same email address more time, every entries will be used. So the email message could be sent more time to an email address.

    This node will be used only if SendType is transactional, otherwise will be ignored.

    Default false.


    Time Zones

    Expand
    titleClick here to see supported time zones
    Id ( the value to type in to settings.xml )Standard NameUTC Offset
    1Dateline Standard Time(UTC-12:00) International Date Line West
    2UTC-11(UTC-11:00) Coordinated Universal Time-11
    3Hawaiian Standard Time(UTC-10:00) Hawaii
    4Alaskan Standard Time(UTC-09:00) Alaska
    5Pacific Standard Time (Mexico)(UTC-08:00) Baja California
    6Pacific Standard Time(UTC-08:00) Pacific Time (US & Canada)
    7US Mountain Standard Time(UTC-07:00) Arizona
    8Mountain Standard Time (Mexico)(UTC-07:00) Chihuahua, La Paz, Mazatlan
    9Mountain Standard Time(UTC-07:00) Mountain Time (US & Canada)
    10Central America Standard Time(UTC-06:00) Central America
    11Central Standard Time(UTC-06:00) Central Time (US & Canada)
    12Central Standard Time (Mexico)(UTC-06:00) Guadalajara, Mexico City, Monterrey
    13Canada Central Standard Time(UTC-06:00) Saskatchewan
    14SA Pacific Standard Time(UTC-05:00) Bogota, Lima, Quito, Rio Branco
    15Eastern Standard Time(UTC-05:00) Eastern Time (US & Canada)
    16US Eastern Standard Time(UTC-05:00) Indiana (East)
    17Venezuela Standard Time(UTC-04:30) Caracas
    18Paraguay Standard Time(UTC-04:00) Asuncion
    19Atlantic Standard Time(UTC-04:00) Atlantic Time (Canada)
    20Central Brazilian Standard Time(UTC-04:00) Cuiaba
    21SA Western Standard Time(UTC-04:00) Georgetown, La Paz, Manaus, San Juan
    22Pacific SA Standard Time(UTC-04:00) Santiago
    23Newfoundland Standard Time(UTC-03:30) Newfoundland
    24E. South America Standard Time(UTC-03:00) Brasilia
    25Argentina Standard Time(UTC-03:00) Buenos Aires
    26SA Eastern Standard Time(UTC-03:00) Cayenne, Fortaleza
    27Greenland Standard Time(UTC-03:00) Greenland
    28Montevideo Standard Time(UTC-03:00) Montevideo
    29Bahia Standard Time(UTC-03:00) Salvador
    30UTC-02(UTC-02:00) Coordinated Universal Time-02
    31Mid-Atlantic Standard Time(UTC-02:00) Mid-Atlantic - Old
    32Azores Standard Time(UTC-01:00) Azores
    33Cape Verde Standard Time(UTC-01:00) Cape Verde Is.
    34Morocco Standard Time(UTC) Casablanca
    35UTCUTC
    36GMT Standard Time(UTC) Dublin, Edinburgh, Lisbon, London
    37Greenwich Standard Time(UTC) Monrovia, Reykjavik
    38W. Europe Standard Time(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
    39Central Europe Standard Time(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague
    40Romance Standard Time(UTC+01:00) Brussels, Copenhagen, Madrid, Paris
    41Central European Standard Time(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb
    42W. Central Africa Standard Time(UTC+01:00) West Central Africa
    43Namibia Standard Time(UTC+01:00) Windhoek
    44Jordan Standard Time(UTC+02:00) Amman
    45GTB Standard Time(UTC+02:00) Athens, Bucharest
    46Middle East Standard Time(UTC+02:00) Beirut
    47Egypt Standard Time(UTC+02:00) Cairo
    48Syria Standard Time(UTC+02:00) Damascus
    49E. Europe Standard Time(UTC+02:00) E. Europe
    50South Africa Standard Time(UTC+02:00) Harare, Pretoria
    51FLE Standard Time(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius
    52Turkey Standard Time(UTC+02:00) Istanbul
    53Jerusalem Standard Time(UTC+02:00) Jerusalem
    54Libya Standard Time(UTC+02:00) Tripoli
    55Arabic Standard Time(UTC+03:00) Baghdad
    56Kaliningrad Standard Time(UTC+03:00) Kaliningrad, Minsk
    57Arab Standard Time(UTC+03:00) Kuwait, Riyadh
    58E. Africa Standard Time(UTC+03:00) Nairobi
    59Iran Standard Time(UTC+03:30) Tehran
    60Arabian Standard Time(UTC+04:00) Abu Dhabi, Muscat
    61Azerbaijan Standard Time(UTC+04:00) Baku
    62Russian Standard Time(UTC+04:00) Moscow, St. Petersburg, Volgograd
    63Mauritius Standard Time(UTC+04:00) Port Louis
    64Georgian Standard Time(UTC+04:00) Tbilisi
    65Caucasus Standard Time(UTC+04:00) Yerevan
    66Afghanistan Standard Time(UTC+04:30) Kabul
    67West Asia Standard Time(UTC+05:00) Ashgabat, Tashkent
    68Pakistan Standard Time(UTC+05:00) Islamabad, Karachi
    69India Standard Time(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi
    70Sri Lanka Standard Time(UTC+05:30) Sri Jayawardenepura
    71Nepal Standard Time(UTC+05:45) Kathmandu
    72Central Asia Standard Time(UTC+06:00) Astana
    73Bangladesh Standard Time(UTC+06:00) Dhaka
    74Ekaterinburg Standard Time(UTC+06:00) Ekaterinburg
    75Myanmar Standard Time(UTC+06:30) Yangon (Rangoon)
    76SE Asia Standard Time(UTC+07:00) Bangkok, Hanoi, Jakarta
    77N. Central Asia Standard Time(UTC+07:00) Novosibirsk
    78China Standard Time(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi
    79North Asia Standard Time(UTC+08:00) Krasnoyarsk
    80Malay Peninsula Standard Time(UTC+08:00) Kuala Lumpur, Singapore
    81W. Australia Standard Time(UTC+08:00) Perth
    82Taipei Standard Time(UTC+08:00) Taipei
    83Ulaanbaatar Standard Time(UTC+08:00) Ulaanbaatar
    84North Asia East Standard Time(UTC+09:00) Irkutsk
    85Tokyo Standard Time(UTC+09:00) Osaka, Sapporo, Tokyo
    86Korea Standard Time(UTC+09:00) Seoul
    87Cen. Australia Standard Time(UTC+09:30) Adelaide
    88AUS Central Standard Time(UTC+09:30) Darwin
    89E. Australia Standard Time(UTC+10:00) Brisbane
    90AUS Eastern Standard Time(UTC+10:00) Canberra, Melbourne, Sydney
    91West Pacific Standard Time(UTC+10:00) Guam, Port Moresby
    92Tasmania Standard Time(UTC+10:00) Hobart
    93Yakutsk Standard Time(UTC+10:00) Yakutsk
    94Central Pacific Standard Time(UTC+11:00) Solomon Is., New Caledonia
    95Vladivostok Standard Time(UTC+11:00) Vladivostok
    96New Zealand Standard Time(UTC+12:00) Auckland, Wellington
    97UTC+12(UTC+12:00) Coordinated Universal Time+12
    98Fiji Standard Time(UTC+12:00) Fiji
    99Magadan Standard Time(UTC+12:00) Magadan
    100Kamchatka Standard Time(UTC+12:00) Petropavlovsk-Kamchatsky - Old
    101Tonga Standard Time(UTC+13:00) Nuku'alofa
    102Samoa Standard Time(UTC+13:00) Samoa
    103Line Islands Standard Time(UTC+14:00) Kiritimati Island

     

    Use Cases

    Working example of settings.xml for the most common use cases. 

    Send an already defined email message (massive)  

    Code Block
    languagexml
    titleSettings.xml
    firstline1
    linenumberstrue
    <?xml version="1.0" encoding="UTF-8"?>
    <FtpZip>
        <Header>
            <ActionType>send</ActionType>  
    		<CampaignCode>Campaign0009</CampaignCode>   
    		<FormatVersion>0.1</FormatVersion>
    		<NotifyEmail>peter@example.com</NotifyEmail>
        </Header>
        <Content>
            <ListId>1</ListId>
    		<ListGUID>08c6348c-1e6b-4ae7-b44c-156fc4a7f012</ListGUID>
            <SenderName>John Doe</SenderName>
            <SenderEmail>john@doe.com</SenderEmail>
    		<EmailSubject>Campaign0009</EmailSubject>
        </Content>
        <AdvancedSettings>
            <Separator>;</Separator>   
    		<ContentOverride>
                <MessageId>1136</MessageId>
            </ContentOverride>
        </AdvancedSettings>
    </FtpZip>

     

    Send an already defined email message (transactional) 

    Code Block
    languagexml
    titleSettings.xml
    firstline1
    linenumberstrue
    <?xml version="1.0" encoding="UTF-8"?>
    <FtpZip>
        <Header>
            <ActionType>send</ActionType>  
    		<CampaignCode>Campaign0009</CampaignCode>   
    		<FormatVersion>0.1</FormatVersion>
    		<NotifyEmail>peter@example.com</NotifyEmail>
        </Header>
        <Content>
            <ListId>1</ListId>
    		<ListGUID>08c6348c-1e6b-4ae7-b44c-156fc4a7f012</ListGUID>
            <SenderName>John Doe</SenderName>
            <SenderEmail>john@doe.com</SenderEmail>
    		<EmailSubject>Campaign0009</EmailSubject>
        </Content>
        <AdvancedSettings>
            <Separator>;</Separator>   
    		<ContentOverride>
                <MessageId>1136</MessageId>
            </ContentOverride>
            <SendType>transactional</SendType>
            <Transactional>
    			<Username>sxxxxxxx</Username>
    			<Password>xxxxxxxx</Password>
    		</Transactional>
        </AdvancedSettings>
    </FtpZip>

    Send a copy of an already defined email message (massive)

    Code Block
    languagexml
    titleSettings.xml
    firstline1
    linenumberstrue
    <?xml version="1.0" encoding="UTF-8"?>
    <FtpZip>
        <Header>
            <ActionType>send</ActionType>  
    		<CampaignCode>Campaign0009</CampaignCode>   
    		<FormatVersion>0.1</FormatVersion>
    		<NotifyEmail>peter@example.com</NotifyEmail>
        </Header>
        <Content>
            <ListId>1</ListId>
    		<ListGUID>08c6348c-1e6b-4ae7-b44c-156fc4a7f012</ListGUID>
            <SenderName>John Doe</SenderName>
            <SenderEmail>john@doe.com</SenderEmail>
    		<EmailSubject>Campaign0009</EmailSubject>
        </Content>
        <AdvancedSettings>
            <Separator>;</Separator>   
    		<ContentOverride>
                <MessageId>1136</MessageId>
                <CloneMessage>true</CloneMessage>
            </ContentOverride>       
        </AdvancedSettings>
    </FtpZip>

     

    Send a copy of an already defined email message (transactional)  

    Code Block
    languagexml
    titleSettings.xml
    firstline1
    linenumberstrue
    <?xml version="1.0" encoding="UTF-8"?>
    <FtpZip>
        <Header>
            <ActionType>send</ActionType>  
    		<CampaignCode>Campaign0009</CampaignCode>   
    		<FormatVersion>0.1</FormatVersion>
    		<NotifyEmail>peter@example.com</NotifyEmail>
        </Header>
        <Content>
            <ListId>1</ListId>
    		<ListGUID>08c6348c-1e6b-4ae7-b44c-156fc4a7f012</ListGUID>
            <SenderName>John Doe</SenderName>
            <SenderEmail>john@doe.com</SenderEmail>
        </Content>
        <AdvancedSettings>
            <Separator>;</Separator>   
    		<ContentOverride>
                <MessageId>1136</MessageId>
                <CloneMessage>true</CloneMessage>
            </ContentOverride> 
        <Transactional>
    			<Username>sxxxxxxx</Username>
    			<Password>xxxxxxxx</Password>
                <AggregationCode>Campaign John Doe</AggregationCode>
    	</Transactional>      
        </AdvancedSettings>
    </FtpZip>


    Create and send an email message (massive) 

    Code Block
    languagexml
    titleSettings.xml
    firstline1
    linenumberstrue
    <?xml version="1.0" encoding="UTF-8"?>
    <FtpZip>
        <Header>
            <ActionType>full</ActionType>  
    		<CampaignCode>Campaign0009</CampaignCode>   
    		<FormatVersion>0.1</FormatVersion>
    		<NotifyEmail>peter@example.com</NotifyEmail>
        </Header>
        <Content>
            <ListId>1</ListId>
    		<ListGUID>08c6348c-1e6b-4ae7-b44c-156fc4a7f012</ListGUID>
            <SenderName>John Doe</SenderName>
            <SenderEmail>john@doe.com</SenderEmail>
    		<EmailSubject>Campaign0009</EmailSubject>
    		<ScheduleDateTime>2014-11-04T11:20:00.000</ScheduleDateTime>
    		<ScheduleTimeZone>6</ScheduleTimeZone>
            <Notes>Notes for campaign 00009</Notes>
        </Content>
        <AdvancedSettings>
            <Separator>;</Separator>   
    		<Attachments>false</Attachments> 
    		<DynamicFields>true</DynamicFields>
    		<EmbeddedImages>false</EmbeddedImages>
    		<LinkTracking>true</LinkTracking>
    		<HttpLinkTracking>true</HttpLinkTracking>
    		<HttpsLinkTracking>true</HttpsLinkTracking>    
    		<MailToTracking>false</MailToTracking>
    		<FtpTracking>true</FtpTracking>
    		<NewsTracking>true</NewsTracking>
    		<QueryStringAdditionalParams></QueryStringAdditionalParams>
        </AdvancedSettings>
    </FtpZip>

     

    Create and send an email message (transactional) 

    Code Block
    languagexml
    titleSettings.xml
    firstline1
    linenumberstrue
    <?xml version="1.0" encoding="UTF-8"?>
    <FtpZip>
        <Header>
            <ActionType>full</ActionType>  
    		<CampaignCode>Campaign0009</CampaignCode>   
    		<FormatVersion>0.1</FormatVersion>
    		<NotifyEmail>peter@example.com</NotifyEmail>
        </Header>
        <Content>
            <ListId>1</ListId>
    		<ListGUID>08c6348c-1e6b-4ae7-b44c-156fc4a7f012</ListGUID>
            <SenderName>John Doe</SenderName>
            <SenderEmail>john@doe.com</SenderEmail>
    		<EmailSubject>Campaign0009</EmailSubject>
            <Notes>Notes for campaign 00009</Notes>
        </Content>
        <AdvancedSettings>
            <Separator>;</Separator>   
    		<Attachments>false</Attachments> 
    		<DynamicFields>true</DynamicFields>
    		<EmbeddedImages>false</EmbeddedImages>
    		<LinkTracking>true</LinkTracking>
    		<HttpLinkTracking>true</HttpLinkTracking>
    		<HttpsLinkTracking>true</HttpsLinkTracking>    
    		<MailToTracking>false</MailToTracking>
    		<FtpTracking>true</FtpTracking>
    		<NewsTracking>true</NewsTracking>
    		<QueryStringAdditionalParams></QueryStringAdditionalParams>
            <SendType>transactional</SendType>
            <Transactional>
    			<Username>sxxxxxxx</Username>
    			<Password>xxxxxxxx</Password>
    			<KeepDuplicates>false</KeepDuplicates>
    		</Transactional>
        </AdvancedSettings>
    </FtpZip>

    Create an email message  

    Code Block
    languagexml
    titleSettings.xml
    firstline1
    linenumberstrue
    <?xml version="1.0" encoding="UTF-8"?>
    <FtpZip>
        <Header>
            <ActionType>save</ActionType>  
    		<CampaignCode>Campaign0009</CampaignCode>   
    		<FormatVersion>0.1</FormatVersion>
    		<NotifyEmail>peter@example.com</NotifyEmail>
        </Header>
        <Content>
            <ListId>1</ListId>
    		<ListGUID>08c6348c-1e6b-4ae7-b44c-156fc4a7f012</ListGUID>
    		<EmailSubject>Campaign0009</EmailSubject>
            <Notes>Notes for campaign 00009</Notes>
        </Content>
        <AdvancedSettings>
            <Separator>;</Separator>   
    		<Attachments>false</Attachments> 
    		<DynamicFields>true</DynamicFields>
    		<EmbeddedImages>false</EmbeddedImages>
    		<LinkTracking>true</LinkTracking>
    		<HttpLinkTracking>true</HttpLinkTracking>
    		<HttpsLinkTracking>true</HttpsLinkTracking>    
    		<MailToTracking>false</MailToTracking>
    		<FtpTracking>true</FtpTracking>
    		<NewsTracking>true</NewsTracking>
    		<QueryStringAdditionalParams></QueryStringAdditionalParams>
        </AdvancedSettings>
    </FtpZip>

    Markup.htm

    Markup.xml is the file that FTPZIP will use to generate the email message that will be sent. Note that FTPZIP will run no validation on the actual HTML markup.  Making sure that the message was correctly coded and will render as expected in different email clients is up to the author.

    The following is a working example of a Markup.htm file content, with HTML code that uses two dynamic fields to include the recipient's name and last name (dynamic fields are replaced with the corresponding values at the time the message is sent by MailUp).

    Note that in this example the code contains a remotely hosted image, so no image would be included in the ZIP file.

    Code Block
    languagexml
    titleMarkup.htm - Remotely referenced image
    firstline1
    linenumberstrue
    <html>
        <body>
    		<br />
    		<img src="https://upload.wikimedia.org/wikipedia/it/b/bc/Wiki.png" /><br /><br />	
    		<p style="font-family:arial;">Hello, I'm [firstname] [lastname]</p>
        </body>
    </html>


    Although this sample message only contains a remotely hosted image, FTPZIP supports "locally defined" images. To take advantage of this feature, include the images inside the zip and let FTPZIP to replace the image path accordingly. In this case markup would look like the following:

    Code Block
    languagexml
    titleMarkup.htm - Zip enclosed image
    firstline1
    <html>
        <body>
    		<br />
    		<img src="Wiki.png" /><br /><br />	
    		<p style="font-family:arial;">Hello, I'm [firstname] [lastname]</p>
        </body>
    </html>

     

    Using images in the ZIP file does not require any property or settings enabled. Whatever image you enclose into the zip, FTPZIP will copy it and will attempt to reference it in the HTML markup.

    • Path replacement is based on file name. So if you enclose Wiki.png, markup MUST display <img src="Wiki.png" />
    • The allowed image formats are : JPG, GIF, PNG.

    CORRECT

    Code Block
    languagexml
    titleCorrect Image Path configuration
    firstline1
    <img src="Wiki.png" />

    INCORRECT

    Code Block
    languagexml
    titleWrong Image Path configuration
    firstline1
    <img src="http://myurl.com/Wiki.png" />
    Note

    If you're enclosing an image named the same as one previously uploaded to your Mailup Admin Account, it will be overwritten.

    Recipients.csv

    Recipients.csv is the file that will contain the recipients for the campaign when ActionType == full or send

    • This file must comply with the formatting policies mentioned at the page http://help.mailup.com/display/mailupapi/CSV+File+Format
    • You can add up as many dynamic fields as your account allows.
    • You can use any kind of separator, but you must define it in the proper Settings.xml property (“Separator”).
    • Make sure Recipients.csv was saved with UTF-8 encoding to avoid loss of special characters in some recipient names or content

    Path FTPZIP listens to

    Upload the ZIP file in the FTP subfolder “/import_zip” that can be accessed from your FTP root path :

    Zip Samples

    Note

    When setting up your ZIP archive, please make always sure your archive is not password protected or FTPZIP won't be able to process it and will certainly throw an error.

     

    Use Cases

    Create an email message

    As it can be seen, this ZIP archive contains the mandatory files Settings.xml and Markup.htm, one image and the attachment folder. Recipients.csv is not necessary under this scenario as no recipients’ import job will actually take place.

    Complete sample Archive for this case can be downloaded HERE


    Create and send an email message

    ZIP file this time contains Recipients.csv as well, as the full process will require a recipients’ list to import and to eventually send the newsletter to.

    Complete sample Archive for this case can be downloaded HERE

    Send an already defined email message


    The Zip file contains Recipients.csv to be imported and Settings.xml displaying ongoing campaign settings.

    This case covers the scenario where there's no need to create new message and it will be used th value set in <MessageId> within Setting.xml

    Notification alert messages

    FTPZIP may run several minutes after the time the ZIP file was uploaded. The system will provide updates on the status of the various processes. Each process will throw at least one notification alert message, normally sent to the admin account at the very end of the process either if it completes successfully or not.

    Error Messages

    Expand
    titleClick here to see error notifications

    Error message

    Meaning

    Resolution

    List 1, defined in XML file, does not exist

    In Settings.xml it was defined a listId not matching any actual id. It may not exist.

    Make sure you’ve set the correct value in your Settings.xml file, key <ListId>. If you need to know what are your list id’s please visit the page http://help.mailup.com/display/mailupapi/Codes+Table+and+List+GUID

    Missing Node in Xml File.

    One of the keys in Settings.xml is missing.

    Check your Settings.xml against the sample we provide in this page and make sure no Xml Key is missing.

    XML file does not match its schema. Validation failed

    Xml contained in Settings.xml did not pass the validation check.

    Check your Settings.xml against the sample we provide in this page and make sure no Xml Key ( or bracket ) is missing.

    Cannot read that as a ZipFile

     FTP ZIP couldn’t read at all the submitted ZIP file.

    Please make sure you have completely uploaded the ZIP FILE or check it was not corrupted.

    There was an exception running the extensions specified in the config file. ---> Maximum request length exceeded.

    The attachments’ size goes beyond the upload limit.

    Please revise the attachment you’re planning to send along with the newsletter. Global size of all attachments must be under 3Mb of size.

    There was no "Attachments" folder in the submitted Zip Archive.

    Attachment was set to true in Settings.xml, but there was no attachment folder inside the submitted ZIP file.

    Please edit your ZIP and make sure there’s the attachment folder in it.

    ( folder name is not case sensitive and can be written as Attachments, attachments or even AtTacHmentS.

     

    Given Campaign Code ( xyz ) has already been used. Please submit the campaign once again and make sure you've set an unused 'CampaignCode' in your Settings.xml file.

    CampaignCode value in Settings.xml has already been used in one previous campaign.

    Please revise your Settings.xml file and make sure you’ve set an unused Campaign code.

    An error was thrown and the FTP ZIP process could not complete. Please take contact with Mailup Support

    This is a generic Exception message. It usually relates to internal server issues and they’re thrown regardless of the user defined settings inside Settings.xml

    Please take contact with Mailup support, or retry to submit the same campaign ( with a renewed Campaign Code though ).

    Element 'ScheduleTimeZone' is not valid. Value 'no' is not valid for the data type 'http://www.w3.org/2001/XMLSchema:integer' - String "no" is not a valid integer value.This error is thrown when an XML field is set with unvalid data type, such as a numeric in place of a boolean or a string instead of an integer. Data types are listed in the Settings.xml section. This same error message is sent when a mandatory value is left blank.Please revise your Settings.xml and check for invalid data types.
    MessageId has to be filled with a numeric value when actiontype is set to SENDThis error will be thrown if ActionType is set to "send" and no MessageId was specified. It is also thrown when the messageId is set as a non numeric value.Please revise your Settings.xml and check you've properly filled in the <MessageId> key.

    Success Messages

    Expand
    titleClick here to see success messages

    Error message

    Meaning

    Resolution

    CONTENT SUCCESSFULLY DELIVERED TO SERVER

    FTP ZIP delivered correctly the full ZIP package, including attachments.

    ---

    NEWSLETTER SUCCESSFULLY DELIVERED TO SERVER

    FTP ZIP delivered and created successfully the newsletter

    ---

    Others

    FTP ZIP throws and handles several offline processes.

    It means it can’t be waiting for all of them to complete and even if it all seemed to run fine, some error may occur in further steps of the process FTP has no visibility on.

    Therefore, it may happen that you are given the success message “CONTENT SUCCESSFULLY DELIVERED TO SERVER”, because FTP actually did its job correctly, and at a later stage receiving a secondary notification such as :

    Alert code: Warn001
    Console: 21559
    File name: 1_201411031457033867.csv
    Please check following links to more details regarding the reported alert:
    http://help.mailup.com/display/mailupapi/SendMessageNL+alerts

    Usually, this kind of error is thrown for formatting problem in the Recipients csv file. Else, wrong field mapping or naming, or when it is attempted to schedule two campaigns at the same time (or nearly the same).

    Please take a minute to read more at the URL : http://help.mailup.com/display/mailupapi/SendMessageNL+alerts

    Multiple campaigns at once

    FtpZip will look for any ZIP archive file in the defined FTP folder.

    This means you can upload two or more campaigns at once.

    If the first campaign processed should fail, FTPZIP will exit with errors and will step back into the process one hour later to complete the unprocessed sessions.

    Execution of campaign that require Massive Mailing can fail do to work process limit of MailUp Import and Massive Mailing management. 

    We recommend for these reasons to upload multiple campaigns only once you are familiar with this tool and its settings and, in case there is the necessity to send more ZIP archive at the same time, evaluate to use the transactional Mailing.

    We recomend to use Massive mailing when it is necessary to send one email message at a time to a big amount of subscribers.

    Also, better not to play with multiple campaigns when you’re too close to deadlines or when they have to start too close each other in time. 

    Faqs

    Expand
    titleClick here to read FAQS

    How do I know if a message was successfully created?

    Every process, regardless of the result, will trigger an alert notification message to the admin account.

    This message, beside describing the actual result, usually returns the Message Id (for both ActionTypes==”full” or ActionType==”newsletter”) and the Send Id  only for ActionType == “full”). No Message or Send Id is returned in case of errors.

    How do I know if my Settings.xml is properly formatted?

    There’s plenty of online xml validators over the web: please try to validate your Settings.xml against one of the following :

    For the advanced XSD validation you’ll need the XML schema definition linked below :

    Settings.xsd

    What is the attachment size limit?

    Although there’s no limitation with regard to the amount of files you can attach to a certain campaign, you must ensure that the aggregate size is below 3MB. Otherwise the file won’t be processed and you’ll be returned an Invalid Attachment Notification message.

    How many images can I include in the ZIP file?

    There is no limitation.

    I submitted my campaign but I'm receiving no result or notification, why?

    Please make sure the email address you are monitoring is registered as your MailUp admin account.

    How do I know if my file was already processed?

    FTPZIP engine usually runs in less then a minute and unless it stumbles into an internal system exception, it will move your ZIP to an internal location for later processing. One suggestion would be to connect to your MailUp FTP host and check if the submitted ZIP file is still on the FTP folder where you left it last time. If it’s there, it means FTP did not yet process it. Eventually, you will receive a notification message after a ZIP file has been processed (NotifyEmail tag has to be specified in Settings.xml).

    Can I upload multiple ZIP files to my FTP location?

    Yes, FTPZIP was programmed to handle multiple files at once. They will be processed in sequence until there’s no file left in the FTP location FTPZIP currently checks.