Electronic Manual - MailingStar / MailingStar plus
© SunnyScript - www.sunnyscript.com

 
Table of contents
 
Installation and configuration [go] Directory structure
[go] File transfer to the server
[go] Configuration
Overview about successful mail marketing [go] Newsletters & Co.
[go] Beginner's questions
Administration panel [go] Admin menu
Mailing list management [go] Edit MailingStar parameters
[go] Supported languages - overview
[go] Supported languages - available settings
[go] Mailing lists - creation and maintenance
[go] Mailing lists - subscriber profiles
[go] Mailing and invitation manager
[go] Automatic mailings (MailingStar plus only)
Advanced features in detail [go] Manage system tables - overview and applications
[go] Manage system tables - restr. table, table parameters and layout
[go] Quick (un-)subscriptions (direct actions from websites)
[go] Account blocking
[go] Additional admin tools - statistics
[go] Additional admin tools - list merging
[go] Additional admin tools - addr. import services (MailingStar plus only)
[go] Database import and export tools
Subscriber lounge and template management [go] Access the subscriber lounge
[go] Subscriber lounge - basic overview
[go] Subscriber lounge customization with templates
[go] Available templates
[go] Customization of templates
Helpful hints and technical reference [go] Background processes
[go] Address import from other products (SunnyScript and 3rd-party ones)
[go] Affiliate management with YourAffiliates
[go] Forgot your admin password ?
[go] Subscriber lounge and template translations
[go] Advanced search features
[go] MailingStar plus' application
Customer services [go] Need help ? Contact the SunnyScript service department !

Smart tip: This handbook is also designed to be printed... set your printer's page orientation to landscape format, so there is enough space to place hand-written notes on the left and right margin easily.
 


 
Installation and configuration
 
SunnyScript offers an optional available installation service, if you don't want to install the software yourself.
Please contact our customer service department by e-mail for detailed information and pricing.
 
Directory structure...

The software can be installed at any place that allows the execution of CGI software: Most server systems provide a special directory called "cgi-bin" where you have to install the application, while others are not limited to a particular location.

In a common environment, we recommend to create a new sub-directory within the existing "cgi-bin" folder to separate the software from other already installed products.

Required "template.en" directory:

Inside the directory you desired for installation, please create a new sub-directory called "template.en". It's used to hold the content of "template.en" directory delivered with your software package.

Required "data" directory:

Inside the directory you desired for installation, please create a new sub-directory called "data". It's used to hold the content of "data" directory delivered with your software package.

Adjust path to Perl:

Open all program files (*.pl and *.cgi) in a text editor and change the first line "#!/usr/bin/perl" that it reflects the correct path to Perl 5 (or higher version) on your system. This is required to let your server know where the Perl interpreter is located.

Usage note: On most systems, /usr/bin/perl is already the default path to Perl and so no modifications are required.
 

File transfer to the server...

Upload all files to the created directories. If a ftp client is used, ensure to set the "ASCII transfer mode" for file submissions.

Detailed file table: Scheme: [filename | suggested place to upload (short description); file permission]:
 
Filename...
Description...
Filename...
Description...
* cgi-bin (program & data files); 755 template.en/* template.en (templates); 666
    data/* data (basic data files); 666

Important notes: Please double-check file permissions and transfer mode, otherwise the software may not work as intended. Depending upon the server configuration, different file permissions than the ones stated above may be necessary.

Smart tip: Our installation helper install.cgi makes it easier... just call it from your web browsing software (requires correct installation of this script) and it automatically checks your entire installation, adjusts permissions and fixes typical errors.
 

Configuration...

After you have uploaded all files, you may wish to start the admin panel first time to initialize the system parameters. In order to do so, please call admin.cgi with your favorite web browsing software:
 
Action to perform...
URL to call (location varies on your system, of course)...
Open admin panel http://www.sunnyscript.com/cgi-bin/ms/admin.cgi

Before you proceed, it is highly recommended to set an administration password. After this is done, access to the admin panel is granted only by using "admin" as login together with the chosen password.

Now click on the button "Edit system parameters" and configure the shown parameters according your needs.

Usage note: Since all parameters are automatically filled with correct values, modifications on your side may not be required.

Directories and files:
 
Name of parameter to set...
Description...
CGI files directory
Example: /usr/www/cgi-bin/ms
Absolute path to the location of MailingStar on your server.
"binarydata" directory *
Example: /usr/www/cgi-bin/ms/bindata
Absolute path to the location that holds binary database content.

* Technical note: The software tries to create this directory at a web-accessible place (certain cgi-bin locations doesn't allow to deliver multimedia content). If you experience problems in content delivery, please move it manually to a suited location.

Platform specific settings:
 
Name of parameter to set...
Description...
Mailing program (for Unix only)
Example: /usr/bin/sendmail
Absolute path to Sendmail (or compatible) application on your server.
SMTP server
Example: smtp.sunnyscript.com
SMTP server for handling mails; when left blank, the default mail application is used. This setting is required for non-Unix systems, otherwise optional.
Don't use flock
Example: Unchecked
"flock" is normally supported directly by the operating system; should it be unavailable for any reason (e.g. on Win9x, WinMe), mark this checkbox.
Don't use fork
Example: Unchecked
"fork" is normally supported directly by the operating system; should it be unavailable for any reason, mark this checkbox.
Forked process respawn interval (seconds)
Example: 60
Respawn interval for processes; recommended range: 30 to 60 seconds.
Admin e-mail address
Example: admin@sunnycript.com
E-mail address of the system administrator (e.g. webmaster).

URLs:
 
Name of parameter to set...
Description...
Binary directory URL
Example: http://www.sunnyscript.com/cgi-bin/ms/bindata
URL to the location that holds binary database content.
URL of CGI files directory
Example: http://www.sunnyscript.com/cgi-bin/ms
URL to the location of MailingStar on your server.
URL of user's help document (optional)
Example: http://www.sunnyscript.com/myhelp.htm
URL to an optional help document (not included); may also consist of an e-mail link (e.g. "mailto:support@sunnyscript.com").

Various parameters:
 
Name of parameter to set...
Description...
Authentication time (in seconds)
Example: 10800
Time frame keeping user authentications active (after expiration, people must log in again); recommended range: 1 to 12 hours.

After you have verified all settings carefully, click on the button "Save parameters" to take over modifications to the system. It is also possible to bring back previous values with the "Let the script restore defaults" button.
 

Congratulations - you have successfully installed the software :-)

 
Overview about successful mail marketing
Newsletters & Co. ...

Why are newsletters essential for my company ?

Sending regular newsletters to existing and prospective clients will bind them to your company and product labels. In this way, people have always up-to-date product and service information and remember to your business for their next buying decisions.

Newsletters are also suited to improve internal communication streams within companies, e.g. by publishing a regular business mailing keeping employees informed about latest developments.

Is there anything I have to take care for newsletters ?

Never send too many mailings; your newsletter should stand out and it surely doesn't when reached daily; it mainly depends upon your product range and company structure. In short: High product (or customer) fluctuation -> more mailings.

It is very important to do mailings regularly and in an "eye-catching" way. And it's also recommended to use always the same content structure (headers and footers) as well as a clear, understandable layout (e.g. table of contents, strong headlines).

Another point is the used style of writing: This mainly depends upon your target group and customer structure ("Hey folks, we have new cool stuff to check out" may not work for conservative business people).

No one will read a mailing containing tons of text; take care to summarize long text blocks to short ones and provide links to your website where more detailed information should be available (use effectiveness tracking of MailingStar to log user activity).

If you are unsure about the layout of your newsletter, why not checking your competitor ones ? Of course, they also don't have invented "the solution", but sometimes doing so is a source of inspiration for own ideas.

And (probably most important) ask yourself whether you would like receiving your own newsletters or just find them boring.

How to attract people signing-up for my newsletters ?

The easiest way is to collect e-mail addresses from your customers (if you are unsure, you may invite them to join your mailing list instead of doing subscriptions without their knowledge).

Also don't miss to add the possibility to subscribe directly on your website. MailingStar can be easily integrated into an existing website keeping your original layout by using simple HTML forms - this will attract surely many people to join.

MailingStar plus offers the feature to import address lists and to grab new e-mail addresses from websites being invited or added directly to mailing lists (please refer to the chapter "Helpful hints and technical reference" for legal notes).

How to make my newsletter more interesting ?

Well, the possibilities are endless and mainly depend upon the type of your business and target groups. But it is a good idea to offer some kind of discounts for products / services exclusively for subscribers (e.g. buy one, get one free).

And why not allow a "view behind the scenes" by showing how your products are made or providing related news and business information. You can also build a series ("Next time we tell you more about..."), which makes your newsletter being an event.
 

Beginner's questions...

What is a mailing list and how to create it ?

A mailing list is used to group people with same interests and comes with its own mail settings and preferences; mailings can be sent either to one single list or multiple mailing lists at once.

What is the subscriber lounge ?

The subscriber lounge provides an interactive platform for your existing subscribers (members of mailing lists) to check and edit their current subscriptions, change their profile data and much more.

Additionally, the subscriber lounge is also the right place for people who are interested in your mailing lists. They just need to register first and can then join any of them. The registration procedure may be moderated, depending upon your settings.

For subscriptions accepted directly from websites, MailingStar provides a "quick subscription" feature without prior registration (in this way, a standard profile is created automatically).

What is a profile and does each subscriber need one ?

Yes, it is necessary. Each profile contains all information about the concerned subscriber (like the e-mail address, subscribed lists, language preferences as well as additional personal data).

Opt-in, opt-out, permission marketing - what in postage stamp's name is this ?

MailingStar uses a special opt-in verification scheme to prevent that anyone else than the original e-mail address owner can subscribe to your mailing lists by requiring a separate confirmation.

And once an e-mail address is subscribed, its owner should have the chance to unsubscribe again (opt-out) either by managing the concerned subscription profile online or clicking at a special link within received mailings.

Permission marketing summarizes both: People subscribed to your mailing lists are aware about this fact (opt-in) and able to unsubscribe at any time (opt-out). This is a legal requirement in many countries, fulfilled by MailingStar in all aspects.

By the way: You can freely decide by yourself how (and if overall) to use opt-in/opt-out methods. Please refer to the following chapters for more detailed information.
 


 
Administration panel

The administration panel is a convenient way to work interactively with MailingStar. You can start the admin panel by calling admin.cgi with your favorite web browsing software:
 
Action to perform...
URL to call (location varies on your system, of course)...
Open admin panel http://www.sunnyscript.com/cgi-bin/ms/admin.cgi

How to access the subscriber lounge (registered members area, user registrations):
 

Action to perform...
URL to call (location varies on your system, of course)...
Access subscriber lounge http://www.sunnyscript.com/cgi-bin/ms/login.cgi             or
http://www.sunnyscript.com/cgi-bin/ms/my.cgi
 
Admin menu...

This screen allows the following actions:
 
Main menu options...
Description...
Manage system tables
 
Table...
Description...
... of registered users Database containing subscriber profiles.
... of mailing lists Database containing mailing list definitions.
... of mailing archive Database containing archived mailings.
... of subs. / unsubs. history Database containing logged history data.
... of click history Database containing effectiveness tracking data.
 
Additional admin tools
 
Section...
Description...
Additional services Create mailings, invite people and merge lists.
Statistics View effectiveness tracking and list statistics.
Address import services
MailingStar plus only
Scan websites for e-mail addresses or import external address databases.
 
Quick statistics View summarized system statistics.
Edit MailingStar parameters Modify general parameters and manage system preferences.
Change password Change admin password.
Other administrative features
 
Section...
Description...
Edit system parameters Modify system related parameters.
Edit templates Edit the layout templates.
Import / export data Import and export databases.
 

The top menu line provides additional selections (depending on the current system status):
 

Top menu options...
Description...
Admin Go to the main admin menu.
Settings Adjust software parameters.
Job manager Go to the mailing / invitation jobs main screen.
Home Browse the currently active system table.
Search Search the currently active system table.
Login / Logout Login or logout as administrator.
Moderate Approve or decline user modifications.
Restructure Modify structures and parameters of the currently active database.
Add / Clone / Update / Delete Add, clone, update or delete profiles / records.
 

 
Mailing list management
Edit MailingStar parameters...

First of all you must configure basic system settings which take effect to the behavior of the software. Click on the button "Edit MailingStar parameters" when you're in the admin menu.

General settings:
 

MailingStar asks...
Description...
Name of site Name of your website (e.g. "My sample company").
URL of site URL of your website (e.g. "http://www.sunnyscript.com"), as it will be displayed at the subscriber lounge and within mailings.
Footer to be added to each e-mail Default footer being added to all outgoing e-mails; suited especially for showing your business card or advertisements.
Selectable languages Type in a comma separated list with all languages you wish to provide for new user registrations to select from. Use language codes available from "Supported languages" section of this screen (refer below for more details).

Technical note: When keeping this field empty, language selection is disabled. However it is recommended having at least one standard entry (e.g. "english").

Date format Specify the date format used within the subscriber lounge.

Default setting: DD. MMMM YYYY
Example for default: 01. January 2525

Available components for this parameter:
 

Component...
Description...
Date format parts
D 2-digit day (without leading zero).
DD 2-digit day (with leading zero).
DDD Abbreviation of the weekday.
DDDD Complete name of the weekday.
M 2-digit month (without leading zero).
MM 2-digit month (with leading zero).
MMM Abbreviation of the month.
MMMM Complete name of the month.
YY 2-digit year.
YYYY 4-digit year.
Time format parts
h 2-digit hour (without leading zero).
hh 2-digit hour (with leading zero).
m 2-digit minute (without leading zero).
mm 2-digit minute (with leading zero).
s 2-digit second (without leading zero).
ss 2-digit second (with leading zero).
AM Flag to activate 12-hour time scheme. By default, the 24-hour time scheme is enabled.

Some sample combinations:

DD. MMM YYYY, hh:mm.ss AM  -> 01. Jan. 2525, 01:30.59 PM
DDD, MM. D. YYYY           -> Wed., 01. 1. 2010
YY-MM-DD                   -> 25-01-01

Usage note: Additional text is taken over unmodified (e.g. "Today, DD. MM YYYY").

Leads logging settings:
 

MailingStar asks...
Description...
Leads log file
Required by YourAffiliates
Absolute path of the log file location used by YourAffiliates (or other compatible affiliate managers) to track lead based commissions. Leave it empty to disable tracking.

Sample setting: /usr/www/cgi-bin/ya/data/leads.db

How long keep "affiliate cookie"
on user's computer (in hours)
If you use MailingStar to place affiliate cookies (see "Helpful hints and technical reference"), then you can set the time period to hold cookies on visitor's computer.

Recommended value: 48 hours. Parameter is optional.

Security settings:
 

MailingStar asks...
Description...
Enable quick subscription Mark the checkbox to enable quick subscriptions using HTML forms on your website.
Enable quick unsubscription Mark the checkbox to enable quick unsubscriptions using HTML forms on your website.
E-mail address confirmation during signup
Somebody trying to create a profile may not be always the legitimate owner of the used e-mail address. With this feature, a confirmation message is sent to the e-mail address asking to confirm the profile creation.
Enable confirmation for signup Mark the checkbox to enable this feature. After profile creation, user receives an e-mail containing a link to be clicked first before the profile will become active.

Important note: It is strongly recommended to activate this kind of confirmation, because otherwise people can subscribe e-mail addresses they are not authorized for.

E-mail address confirmation during quick subscription
Same as before, but for quick subscriptions (please refer to the next chapter for details).
Enable quick subs. confirmation Mark the checkbox to enable this feature. After subscription request, user receives an e-mail containing a link to be clicked first before the subscription will become active.

Important note: It is strongly recommended to activate this kind of confirmation, because otherwise people can subscribe e-mail addresses they are not authorized for.

Usage note: If you not wish quick subscribers to use the subscriber lounge, remove the login information stated at the default message template.

Quick unsubscription confirmation *
Somebody trying to unsubscribe from mailing lists may not be always authorized to do so. With this feature, a confirmation message is sent to the e-mail address asking to confirm the unsubscription.
Enable quick unsubs. confirmation Mark the checkbox to enable this feature. After unsubscription request, user receives an e-mail containing a link to be clicked first before the unsubscription will become active.

Important note: It is strongly recommended to activate this kind of confirmation, because otherwise people can remove e-mail addresses they are not authorized for.

Usage note: This confirmation type also applies to unsubscriptions via e-mail.

Account unblocking confirmation
Profiles can be blocked either by MailingStar (see below) or by the subscriber itself. When user unblocks its profile again (please see subscriber lounge, screen "Profile"), a message is sent asking for confirmation.
Enable unblocking confirmation Mark the checkbox to enable this feature. After unblocking request, user receives an e-mail containing a link to be clicked first before the profile becomes available again.
E-mail blocking
Exclude people from subscribing by blocking their e-mail addresses.
Accept all e-mail addresses Mark this button in order to allow all e-mail addresses creating profiles.
Block these e-mail addresses Activate "Block these e-mail addresses" and specify a list of domains or specific e-mail addresses (one per line) not allowed to be used for profile creation.
IP blocking
Exclude people from subscribing by blocking their IP addresses.
Accept all IP addresses Mark this button in order to allow all IP addresses for creating profiles.
Block these IP addresses Activate "Block these IP addresses" and specify a list of IP addresses (one per line) not allowed to be used for profile creations.

Also partial IP addresses (use *, e.g. 123.456.78.*) are allowed.

IP limitations
Prevent people to subscribe in an abusive manner by limiting the number of subscription requests per IP address.
Unlimited subscriptions Mark this button in order to disable this feature.
Limit daily subscription requests
per IP
Activate "Limit daily subscription requests per IP" and specify the number of requests allowed per unique IP address.

Important note: Quick subscription requests and confirmations are counted separately from each other, so please consider this when setting a limit (double requests).

* Usage note: An unsubscription confirmation for people managing their accounts via the subscriber lounge is not required, because unsubscriptions can be only made after specifying the correct password (moderate such profile changes instead of).

Invitation mailing default settings:

Invitations are suited to ask users to become members of your mailing lists (please refer to the next chapter for details).
 

MailingStar asks...
Description...
Sender's name Type in the name used in the header of invitation mails.
Message subject Type in the subject line used in the header of invitation mails.
BCC "to" field E-mail address used for the "To:" field in mail headers.

Usage note: This parameter becomes active only when the quick mailing method is used (saves CPU time by sending BCCs (blind carbon copies) to mail recipients).

Max. number of recipients per msg. Specify the max. number of BCC recipients per invitation. Most mail servers are limited to 100 recipients, so you should specify a number below (recommended value: 99).

Usage note: This parameter becomes active only when the quick mailing method is used (saves CPU time by sending BCCs (blind carbon copies) to mail recipients).

"Reply to" field Type in the e-mail address used in the header of invitation mails.

Subscription manager layout:

By modifying these settings, you can take influence to the top menu line shown within the subscriber lounge.
 

MailingStar asks...
Description...
Menu layout
Menu items separator Characters that will appear between the top menu items (standard value: " | ").
Main menu entries Right box (available selections): Choose entry and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove an entry or use "Up" and "Down" buttons to change entry order.

Alternatively you can type in a comma delimited list of entries manually.

"Subscriptions", "Profile update",
"Logout", "Help" entry text
Labels (linking text) used for top menu entries.

You can also insert image tags according valid HTML standard. "Help" allows also an e-mail address, like "mailto:support@sunnyscript.com".

Data maintenance:

Each time data maintenance runs, the following actions are performed:
 
* Delete expired log entries and history records.
* Handle undeliverable messages and maintain profiles.
* Perform scheduled mailing jobs and do automatic mailings.

Important note: Executing data maintenance is required and needs "fork" function to be enabled (see "System parameters"). If it is disabled due to technical limitations of the server, please follow instructions below.
 

MailingStar asks...
Description...
Auto maintenance interval in hours Specify the maintenance interval in hours; recommended range: 3 to 12 hours.

Important note: This setting requires enabled "fork" function. See below for workaround.

Days to store subscription /
unsubscription events in log
Number of days to keep subscription & unsubscription events in log file; recommended value: 60 days.
Days to store mail reading
statistics in log
Number of days to keep mail reading statistics in log file; recommended value: 60 days.
Days to store clicks in log Number of days to keep click events in log file; recommended value: 60 days.
Days to store blocked users'
accounts
Number of days to keep blocked profiles alive. Decide for a generous time period to allow subscribers re-activating their profiles (e.g. disabled during holidays).

Recommended range: 30 days (~ 1 month) to 180 days (~ 6 months).

Log removal of blocked accounts A checked button means that all previously blocked and then removed accounts will be kept stored at logs/blocked_remove.log for later reference.

Data maintenance with disabled "fork" function:

Schedule the file cron_run.pl (the file is located in the software directory of MailingStar) to be ran regularly by your server (recommended scheduling: each hour). You may use Cron or your server's scheduling tool in order to manage this task.

Technical note: Even when starting data maintenance in this way, ensure to fill in the parameters above.

By the way: If you are new at scheduling server actions, please contact your webhoster for details or refer to available literature. Alternatively you may use the Cron editor we provide (call cron_edt.pl from the command line, e.g. "perl5 cron_edt.pl").

Data maintenance - auto-blocking of invalid e-mail addresses:

This feature is explained in the chapter "Advanced features in detail".

Automatic mailings:

This feature is explained at the part "Automatic mailings".
 

Supported languages - overview...

How does the language selection work ?

MailingStar is able to handle a primary and secondary language preference for each profile. So you can provide information in different languages automatically sent to the correct recipients.

Depending upon their language settings, MailingStar decides which subscribers of a particular list will receive your mailing; in this way, one list can host profiles with individual language preferences.

We have prepared a list of commonly used languages you may modify, delete or expand according your needs. Our system supports as many natural and artificial languages as you like.

How to create a new language entry:

Type in the abbreviation of the new language (e.g. "KL" for Klingon) and click on the button "Create new". Also add this code to the "Selectable languages" parameter (above on the same screen) to make the concerned language available for selection.

How to edit / remove a language entry:

Select the language from the list, click on "Delete" or "Edit" and follow the provided instructions.

Usage note: Instead of removing a temporarily unwished language completely from the system, use the parameter "Selectable languages" within "General settings" (see previous part of this chapter).

How to change the sorting of languages:

Select the one you wish to move around and click on either "Move up" or "Move down" button to change its position (this affects the language's position within the subscriber lounge).

How to disable language feature:

Either delete all languages from "Selectable languages" within "General settings" part (recommended way) or remove the fields primary_lang and secondary_lang from the table of registered users (be careful when doing so).
 

Supported languages - available settings...

Language identification:
 
MailingStar asks...
Description...
Language code Code of the language (used internal and as value for the field "Selectable languages"); only alphanumerical characters, keep it as short as possible (two chars).

Important note: Once set, please don't change a language code anymore (otherwise references are lost to existing profiles using the old language code).

Language name Name of the language; it is used to label the language in the subscriber lounge. Made modifications are automatically taken over to the concerned profiles.

Charset settings:
 

MailingStar asks...
Description...
Charset name The name of the character set used for this language. Please refer to existing literature for more information. May be left empty in most cases.

Charset conversion:

You can perform character conversion for each language: Characters represented by hexadecimal codes (source) are converted into others also specified as hexadecimal values (target).
 

MailingStar asks...
Description...
Hex codes of source characters The hexadecimal source codes of the characters, separated by spaces.

For example: AA AB 12

Hex codes of target characters The hexadecimal target codes of the characters, separated by spaces.

For example: 1A 2A 34

For this sample we get the following conversions: AA into 1A, AB into 2A and 12 into 34 (take care of the used order).

 
Mailing lists - creation and maintenance...

Table of mailing lists (see main admin menu):

This database contains information about all mailing lists currently available. Each mailing list can have individual settings to control its behavior, so you are able to manage completely different lists with one software installation.

Add a new mailing list:

Click on "View/Add/Update/Delete lists" when you are in the main admin menu to see all existing lists. Now click on "Add" in the upper right corner of the screen.

Usage note: Most of these parameters are pre-defined with standard values for your convenience.
 

MailingStar asks...
Description...
List name Name of the mailing list, as it will be displayed at the subscriber lounge (when enabled).
Description Description of the list, as it will be displayed at the subscriber lounge (when enabled).
Default sender name * Name of the sender used in headers of outgoing mailings.
Default sender e-mail * E-mail address of the sender used in headers of outgoing mailings.
Default BCC to * E-mail address used for the "To:" field in mail headers.

Usage note: This parameter becomes active only when the quick mailing method is used (saves CPU time by sending BCCs (blind carbon copies) to mail recipients).

Default mailing method * Select "Quick" or "Personalized" (please refer below in this chapter for details).
Default message subject * Subject used in headers of outgoing mailings.
Default "reply to" field * Reply-to e-mail address used in headers of outgoing mailings.
Default organization * Organization used in headers of outgoing mailings.
Default message priority * Message priority used for outgoing mailings.
Default message text body * Define pre-available text parts like headers and footers always staying the same in your mailings. This default message body is used for mailings in text format.
Default message html body * Define pre-available text parts like headers and footers always staying the same in your mailings. This default message body is used for mailings in HTML format.

Technical note: HTML tags are correctly interpreted and your mailing is marked to be a HTML one (however some recipients may prefer text mails).

Send welcome message Enable this setting to send a welcome message each time a user subscribes to this list (no matter whether the user has a profile already or doing a quick subscription).
 
MailingStar asks...
Description...
Welcome message subject The subject used for the welcome message.
Welcome message body The welcome message itself. You can keep the default text or use it as basis for your own one.

Technical note 1: Within the welcome message, you can use all fields requested during profile creation (all fields from the table of reg. users). Format: <!--$TAGNAME-->.

Technical note 2: The tag <!--%%$config{EmailFooter}%%--> is used to display the default footer (screen "MailingStar parameters"). Remove it, if not desired.

Technical note: You can use <!--%%"$cgiurl/login.cgi"%%--> within the template to show the URL to the subscriber lounge.

Send good bye message Enable this setting to send a good bye message each time a user unsubscribes from this list (no matter wether user has a profile already or doing a quick unsubscription).

The "good bye" message is suited to confirm unsubscription for sure as well as to ask your former subscriber for improvements and suggestions.
 

MailingStar asks...
Description...
Good bye message subject The subject used for the good bye message.
Good bye message body The "good bye" message itself. You can keep the default text or use it as basis for your own one.

Technical note 1: Within the "good bye" msg., you can use all fields requested during profile creation (all fields from the table of reg. users). Format: <!--$TAGNAME-->.

Technical note 2: The tag <!--%%$config{EmailFooter}%%--> is used to display the default footer (screen "MailingStar parameters"). Remove it, if not desired.

Show list on lounge Unmark this button to hide the mailing list at the subscriber lounge (suited especially for internal used mailing lists or to temporarily disable a list on the lounge).

Technical note: Keep the button marked when wanting to show this list at the public mailing archive.

Allow viewing archive Mark this button to enable the list's mailings (incl. attachments) for being accessible at the subscriber lounge archive.
 
Available selections...
Description...
No Disable this feature.
Only subscribed members
can view archive
Archive is accessible to list subscribers only.
Any registered member
can view archive
Archive is accessible to all subscribers.
Anonymous visitors
can view archive
Archive is accessible to everybody (public archive).

Technical note 1: It is required to move mailings from the job manager to the mailing archive before they become visible at the subscriber lounge archive.

Technical note 2: Since mailings are shown as stored at the mailing archive, removing them from there will also lead to delete them from the subscriber lounge archive.

* These default parameters can be individually modified for each mailing job (see next parts of this chapter). Values here are used as standard ones for time-saving purposes.

Edit or remove a mailing list:

Click on "View/Add/Update/Delete lists" when you are in the main admin menu. You see all mailing lists currently available.

Now search for the desired list and click on a linked column (e.g. list name) and select "Edit" or "Delete" shown on the upper right corner of the screen. Just follow the instructions appearing now.

Important note: Once a list is removed, it cannot be recovered - so please be careful.

Technical note: Profiles are automatically updated in the case of list modifications and removements.

Show subscribers of a mailing list:

When browsing through the mailing lists, click on "subscribers" at the column "List ID" to see all subscribers currently available on a particular list. You can then view a profile more closer for being edited or removed.
 

Mailing lists - subscriber profiles...

Table of registered users (see admin menu):

This database contains all subscriber profiles currently existing on the system.

A profile is created for each e-mail address subscribed to mailing lists via the subscriber lounge. For quick subscriptions and imported addresses, a standard profile is established automatically by the system.

All fields used within this table can be included in registration & update forms on the subscriber lounge to request custom info from your users (doesn't require any template modifications (except mail templates), since pages are dynamically generated).

Helpful hint: Add custom fields to request personal information from your subscribers; use as many fields as you like (all field types like input boxes, drop-down lists and radiobuttons are supported).

Add, update and remove profiles:

You can add new subscriber profiles, update and remove existing ones (e.g. at user request) through the admin panel:

Please click on "View/Add/Update/Delete users" when you are in the main admin menu.

Click on "Add" (upper right corner of screen) to create a new profile or search for the desired profile you wish to edit or remove, click on a linked column (e.g. first name) and then select "Edit" or "Delete" from the upper right corner of the screen.

Helpful hint: Alternatively use the "Quick add" link located at the main admin menu to go directly to the addition form.

Default requested settings for creating a new profile:
 

MailingStar asks...
Description...
E-mail address E-mail address of the subscriber.
Password Decide for a password (case sensitive). Should be longer than four characters.
First name First name of the subscriber.
Last name Surname of the subscriber.
Message format Preferred mailing format of this subscriber (TEXT or HTML messages). Use TEXT as default, since this format can be read by all mail clients.
Primary language First preferred language of the subscriber; recommended to be set.
Secondary language Second preferred language of the subscriber; optional.
Subscribed lists Select the mailing lists. Hold the CTRL key (or appropriate) to choose multiple entries.

The update screen looks similar; additionally it shows the date stamps of profile creation and last update as well as affiliate information (if YourAffiliates or a compatible application is configured for MailingStar).

Quick subscriptions, imported addresses and the subscriber lounge:

Profiles created by quick subscriptions and import actions are normally not intended to use the subscriber lounge. However for each record a randomly chosen password is set automatically:

In this way, it is possible for such subscribers to use the password reminder to receive their passwords to the registered e-mail address (then they are able to use the subscriber lounge instantly keeping security for this type of subscriptions).
 

Mailing and invitation manager...

Mailing and invitation manager - overview:

Here is the heart of MailingStar - the ability to prepare mailing jobs as well as to schedule and execute them in various ways.

Invitations are similar to mailing jobs, however scanner output files or external address databases are used to invite people joining your mailing lists (e.g. through the subscriber lounge or via quick subscriptions).

Click on "Mailing and invitation manager" available on main admin menu. Alternatively you can click on "Job manager" on the upper left corner of the screen (where available). The following actions are available for existing jobs:
 

Available job actions...
Description...
update Update an existing job (e.g. alter message content, adjust selected recipients).
archive
archive all completed jobs
Move the job to the mailing archive for later usage (mailing jobs only).
delete
delete all completed jobs
Remove the concerned job from this list (invitation jobs only).
run Start a job now and follow all actions live on your web browser.

Usage note: When closing the web browser window or losing network connection, the job is stopped after five minutes but can be continued later again.

Technical note: You can run a job in background by using the "run in bg mode" feature.

run in bg mode Start a job in the background mode now (the task is executed silently).

Usage note: The job is kept alive even when closing the browser window or losing your network connection - the best way for sending large mailings.

Helpful hint: In order to get the latest status information of background mailings, you just need to reload the job manager screen.

Important note: Since mail jobs are time and resource consuming, your server may work slightly slower than usual while the job is active.

suspend Stop a job currently executed (see status field of the concerned job).

Usage note: If a job was interrupted by "suspend", you can continue the job at the same point as it stopped by clicking on "run" or "run in bg mode" again.

Technical note: Theoretically it is possible to run more than one job at a time. However since this may slow down the server dramatically, MailingStar will execute jobs sequentially (one job per time) and puts waiting jobs into a queue.

Add a new mailing job:

Select a mailing list (used to take over default settings) and then click on the button "Add mailing job" at the bottom of mailing list jobs. Now you can specify all parameters for a new job.
 

MailingStar asks...
Description...
Recipients
Mailing list(s)
All registered users
Send the mailing either to selected lists (hold CTRL key to choose multiple entries) or to all registered users across all available lists.
Additional recipients filter According the personal details in each profile, you can send mailings to a particular target group within the selected mailing lists.

Click on "view filter results" to get a listing of all profiles matching the criteria.

For example: income>=3000 AND education="high"
Only recipients will receive this mailing which have an income of more than 3000 currency units and a "high" education level.

Usage note: For more details about how to perform search operations, please refer to the chapter "Helpful hints and technical reference".

Mailing method
There are two mailing methods available for selection.
Personalized (recommended) Personalized mailings contain an individual "To:" field for each recipient.

In addition, you are able to include fields from the registered users table, which are replaced by appropriate content (format: <!--$FIELDNAME-->).

Usage note: This method is required, if you wish to track undeliverable messages through a POP3 mail account (quick mailing method does not work with this feature).

Quick Quick mailings are used to send identical msgs. to all recipients (faster processing).

However be aware that the usage of personalized elements or intelligent mail content delivery is not possible (included tags or message parts are removed automatically).

Since the BCC mailing method is used, you must determine an e-mail address used as "To:" in mail headers as well as the maximum number of BCC recipients per message.

Usage note: Most servers are limited to BCC recipients; recommended value: 99.

Message details
Sender's name Sender's name used in the header of outgoing mails.
Sender's e-mail E-mail address used in the header of outgoing mails.
Message subject Subject used in the header of outgoing mails.
Reply-to e-mail address Reply-to e-mail address used in the header of outgoing mails.
Organization Organization's name used in the header of outgoing mails.
Message priority Priority setting used in the header of outgoing mails. Select from "Lowest" to "Highest".
Message format Format selector; allows you to choose the format of your mailing (TEXT and/or HTML).

Message format vs. subscriber preferences:

In order to take care upon the subscribers' preferences, select "TEXT and HTML" and fill in both message boxes (each subscriber will receive the matching format).

Technical note: When selecting just one format, only the content available in the matching message box will be sent (other message box is ignored).

Message in TEXT format Place your message in TEXT format here; all definable characters are allowed (like you use them on your computer keyboard or typewriter).

Usage note: Depending upon your list settings, a pre-defined message appears as default message body (e.g. used for header and footer).

Message in HTML format Place your message in HTML format here; all definable characters are allowed as well as HTML, JavaScript & other commands interpretable by mail clients.

Usage note: Depending upon your list settings, a pre-defined message appears as default message body (e.g. used for header and footer).

Attachment file #1 to #5 Specify up to five attachments to be added to your mailing.
Message language Language this mailing is written in (applies for the language filter).
Language filter
Decide whether or not taking care to the subscribers' language preferences.
Respect user language preference
 
Available selections...
Description...
Send to all users Send mailing to all profiles regardless of their language preferences or the set language.
Send to users having this lang. as primary or secondary Send mailing to all profiles having the set language as primary or secondary one.
Send to users having this language as primary Send mailing to all profiles having the set language as primary one.
Send to users having this language as secondary Send mailing to all profiles having the set language as secondary one.
 
Partial mailing
For some special applications (e.g. paid mailings by a commercial mail service), it may be desired to send mails only to a randomly selected number or percentage of recipients.
Amount of used e-mail addresses Number or percentage value of recipients to send this mailing, e.g. "1000" or "50%". Keep the default value "100%" for regular mailing to all subscribers.
Mail reading / link click tracking
Please refer to the chapter "Advanced features in details", part "Additional admin tools - statistics" for a closer description about how to track mail readings and click-throughs as well as how to configure it according your needs.
Scheduling options
You can schedule mailing jobs to be done immediately after creation, later at request or at a specific date and time.
Start immediately
Save for later execution
Run at specified date
Decide about the desired scheduling for this mailing.
Job status
This setting is available for updates only.
Reset job status Mark this button to clear the job's status (the job is considered as being a new one).

Important note: It is strongly recommended to reset the job status during an update, otherwise not all recipients will receive the new mailing.

If all settings are done, click on the button "Process mailing" to save the job or preview the mailing first.

Sample message in TEXT format (with personalized elements):
 
  Dear <!--$first_name--> <!--$last_name-->,

you recently added your website <!--$URL--> to our database.

If you would like to increase the popularity of your <!--$BUSINESSTYPE--> company, you should take a closer look at our valuable offers !

With kind regards,
John Smith (my sample company).

Intelligent mail content delivery:

The most powerful feature is the delivery of intelligent message parts based on a record's content and "if/then/else" conditions. So a mailing can be written absolutely targeted, which leads to higher response rates and increased user convenience.

Important note: This works only with "Personalized" mailing method. "Quick" mailings will ignore intelligent message parts.

Each "intelligent message part" has the following structure:
 
  <!--if <expression>-->
Message delivered when <expression> is true.
<!--else-->
Message delivered when <expression> is false.
<!--endif-->

Usage notes: "if" and "endif" tags are required, while the "else" part is optional. Recurrent tags may also be used.

<expression> can contain these operators:
 

Type...
Allowed operator...
Possible applications...
Mathematical operators +, -, /, *, == Any kind of calculations with numerical field content, e.g. indices, formulae.
String comparison operators eq (equal)
le (less than or equal)
ge (greater than or equal)
lt (less than)
gt (greater than)
ne (not equal)
Comparison of string based field content, e.g. names and selected options.
Numerical comparison operators =, <=, =>, >, <, <> Comparison of numerical values, e.g. age, size.
Logical operators AND, OR, NOT Relationships between fields, calculation and comparison results.

Format of field values: $fieldname (field names are handled case-sensitive).

Sample applications (non-recurrent tags):
 
  <!--if $gender eq "m"-->
Ties for 5 Euro only.
Just a limited time, buy now !
<!--else-->
Parfums starting at 10 Euro.
<!--endif-->

<!--if $income < 20000 AND $intelligence_quotient <= 30-->
Hi <$name>,
participate in our "get rich fast" special offers !
This is your chance to live like the <rich & beautiful>.
<b><i>So start acting now - start today.</b></i>
<!--endif-->

<!--if $index * 10 / $basetax + 0.03 == 2 AND $taxstatus eq "high"-->
Save taxes by ordering our book "1001 (il)legal tax tricks".
<!--else-->
Increase your income by ordering our book "1001 ways to get wealthy".
<!--endif-->

Usage notes: Second sample does not have an "else" tag, which means that a false result will lead into not displaying anything. Should a field value be unavailable (spelling error, non-existing field), then the argument is considered as being empty.

Technical note: It is also possible to use HTML and client-sided scripts (like JavaScript) within intelligent message parts.

Sample application (recurrent tags):
 
  <!--if $gender eq "m"-->
Special offer for <b>men</b> from our drug store:
<!--if $age > 50-->
Gray hair remover for just 9,99 Euro.
<!--else-->
Shaving foam - just 3,99 Euro.
<!--endif-->
<!--else-->
Special offer for <b>women</b> from our drug store:
<!--if $age > 50-->
Wrinkle remover for just 9,99 Euro.
<!--else-->
Lavender bath salt - just 3,99 Euro.
<!--endif-->
<!--endif-->

Usage notes: Parts in green text belonging together. Do not forget to close all "if" tags avoiding malfunctions.

How to perform a test of personal and intelligent mailings:

In order to let the system process a sample message, click on the button "Send test message to admin". The system then generates a mailing, which is sent to the administrator under real life conditions.

And these default values are used: Numerical = 0; date/time related fields = actual date/time; URLs = http://test.<fieldname>/; e-mail addresses = test@<fieldname>.test; fields in general = test-<fieldname>.

Add a new invitation job:

Click on the button "Add invitation job" at the bottom of the invitation job list. Now you can specify all parameters for a new job.
 

MailingStar asks...
Description...
Mailing options
Extract from scanner output files
Extract addresses from this file
Either select a scanner output file to be used for invitation (hold CTRL key or appropriate for multiple selections) or import addresses from a text-based database.

Technical note: The structure of the database to import does not matter. It can have any text-based format; intelligent routines will find matching entries automatically.

Do not send duplicate e-mails Mark this button to prevent sending of invitations multiple times to the same recipient.

If all settings are done, click on the button "Add job" to save the job or preview the mailing first. Now you can start the job at the job manager screen (see above within this chapter for details).

Advanced invitation possibilities:

The invitation feature is intended to allow interested people creating a profile by using the subscriber lounge.

However it is a matter of course that you can also forward them to any other destination, like your website containing a quick subscription form or to a page with more information about your company.

In this way, invitations can be made for an individual mailing list or just to welcome people to visit your website.
 

Automatic mailings (MailingStar plus only)...

Automatic mailings - overview:

Another great feature of MailingStar is the ability to send mailings automatically to each new user. This way is especially suited for any kind of periodicals, like online learning courses.

Automatic mailings are handled apart from mailing lists, so it is not necessary to set up one for this purpose. People are just required to create own profiles at the subscriber lounge in order to receive automatic mailings.

Important note: Automailings are sent to each new subscriber. So if you wish to manage additional mailing lists without this feature, it is necessary to make two installations of MailingStar (you are required to buy another license for this purpose).

Pre-requisite for automatic mailings:

Maintenance interval: Ensure that a maintenance interval is specified. Please see screen "Table parameters", "Table automatic maintenance". Recommended range: 3600 to 43200 seconds (1 to 12 hours).

How to add an automatic mailing:

Click on the button "Edit MailingStar parameters" when you're in the admin menu and go to the section "Automatic mailings". Type in the name of the automatic mailing entry (e.g. "First lesson") and click on the button "Create new".

At the following screen, specify the mailing's content; please refer to "Add a new mailing job" for details.
 

MailingStar asks...
Description...
Scheduling options
Delivery delay Type in the number of days after member registration to send this message. For example, a value of "5" will send this message at the fifth day after user registration.

You may also use fractional delays, e.g. "2.5" sends a message approximately at 12 o'clock the second day member subscribed.

Technical note: Setting the delivery delay to zero prevents the concerned mailing from being sent (useful when editing a mailing or to disable it temporarily).

Usage note: It is possible to send multiple mailings the same day (then their sending order depends upon the position at automatic mailings selection list).

If all settings are done, click on the button "Save parameters" to finally set up the automatic mailing.

By the way: Automatic mailings also supporting personalized mails (filled with data from registered users table) as well as intelligent mail content delivery. For more details, please refer to the part "Mailing and invitation manager".

How to edit / remove an automatic mailing:

Select the mailing from the list, click on "Delete" or "Edit" and follow the provided instructions.

How to change the sorting of automatic mailings:

Look for the one you wish to move around and click on either "move up" or "move down" to change its position in the list.
 


 
Advanced features in detail
Manage system tables - overview and applications...

Overview:

The system tables contain system related data, like subscriber profiles, mailing list settings, archived mailings, history info for list changes and effectiveness tracking. All system tables can be searched and modified according their specific applications.

You can access the system tables from the main admin menu. For each table, different selections are available.

Usage note: All modifications made to these tables take immediately effect to the subscriber lounge. Since most of these actions cannot be recovered, please be careful when altering data.

Table of registered users:

Please refer to the chapter "Mailing list management" for a close description of this table.

Moderate user actions:

If you have set permissions to moderate new profile creations (subscriptions) or changes in profiles (e.g. unsubscriptions or modifications), you can use the link "Moderate user actions" to approve or decline modification requests made by subscribers.

Technical note: Quick (un-)subscriptions cannot be moderated (use the security settings instead of).

Technical note: If you wish to modify records that are currently in moderation queue, mark the button "Remind to update" when approving these records. On the moderation result screen, you can edit them right away (new browser window opens).

Table of mailing lists:

Please refer to the chapter "Mailing list management" for a close description of this table.

Mailing archive:

The mailing archive is intended to send previous mailings again to the same or different mailing lists: Just search for the desired mailing and click on the "send again" link to go directly to a mailing job screen with pre-filled fields.

In order to view an archived message more detailed, please click on the ID number of concerned message.

Technical note: Also attachments will be stored and are re-sent each time a mailing is taken from the archive. For this reason, you may clean the mailing archive regularly to avoid wasting too much diskspace, see next part.

Clear the mailing archive:

From time to time you may wish to clear outdated mailings. Click on "Restructure" link of the mailing archive part on the main admin menu and then use the table clearance feature to remove all archived mailings.

In order to remove just selected entries, click on the ID number of concerned mailing and then select "Delete" available on the upper right corner of the screen.

Important note: Removed messages cannot be recovered, so please be careful.

Subscription / unsubscription history:

The subscription / unsubscription history shows all recently done changes to your mailing lists (via the admin panel, subscriber lounge, quick subscriptions and address imports); the records are sorted by days and list IDs.

Data stored in this table is used to generate statistical information (see "additional admin tools" on the main admin menu).

Clear the subscription / unsubscription history table:

This table is cleared automatically when running data maintenance (screen "MailingStar parameters" screen, setting "Days to store subscription / unsubscription events in log").

Alternatively you can also click on "Restructure" of this table's part on the main admin menu and then use the table clearance feature to remove all entries within this table. However doing so will lead into having incorrect list statistics.

Click history:

The click history shows all clicks noticed by the effectiveness tracking (refer below in this chapter for more details). It will allow you to get an overview about the click activity (and so the success) of your mailings.

Data stored in this table is used to generate statistical information (see "additional admin tools" on the main admin menu).

Clear the click history table:

This table is cleared automatically when running data maintenance (screen "MailingStar parameters" screen, setting "Days to store clicks in log").

Alternatively you can also click on "Restructure" of this table's part on the main admin menu and then use the table clearance feature to remove all entries within this table. However doing so will lead into having incorrect effectiveness tracking statistics.
 

Manage system tables - restructure table, table parameters and layout...

Before you proceed:

The following text contains more details about how to modify the system tables. As an experienced user, you can influence MailingStar's system behavior according your wishes.

However please note that once modifications were made, they cannot be recovered. In worst case, you have to re-install the software with the risk of losing existing subscriber profiles and list settings.

Important note: Before you touch the system tables, ensure that you are familiar with MailingStar. You should also create a backup copy of the entire software installation for later referencing purposes.

Restructure system table:

Click on "Restructure" of the desired system table. Alternatively you can use the "Restructure" link in the upper right corner of the screen appearing when you are inside of a system table (browse its content).

How to add a new or edit an existing field:

Go to "New field name", type in the desired name, select the data type and click on "Create new field". Otherwise look for the field you wish to modify and click either on "Edit" or the field name. Now the screen "Field properties" appears:
 

MailingStar asks...
Description...
Field name Contains the name of the table field; you can change it at any time (table parameters are automatically updated with new field name).
Data type Select the type of content being stored in this field:
 
Type...
Description...
text Any content with unlimited size (default).
int Positive and negative integers.
float Real numbers.
date Date in format YYYY-MM-DD.
time Time in format HH:MM:SS.
datetime Date and time in format YYYY-MM-DD HH:MM:SS.
boolean Empty value = false; any other value = true.
image GIF, JPG, PNG & BMP pictures (stored in "binary" directory).
binary Binary content (stored in "binary" directory).
memo Textual content (stored in "binary" directory).
htmlmemo HTML-formatted content (stored in "binary" directory).
uploadmemo See "memo", but use with "upload (other files)" edit control only.
autoinc Autoincrement integer field.
URL Same as text, but URL validation and embedded HTML.
email Same as text, but e-mail validation and embedded HTML.
 
Display label Field label appearing instead of field name set above.
Display comment Comments which appear when adding or updating records, giving some hints to users.
Display mask Advanced users only: Active template for Perl scripts used to format concerned field value in HTML code or to make manipulations with value before output.

Available system variables are $id (contains record ID), $fields{FIELDNAME} and $value (contains the current field's value).

Sample application for display mask:
 

Description...
How to realize...
Field value in bold characters Type in: &"<b>$value</b>"
 
Default value Type in a default value you wish to use for this field, if it is kept unfilled by the user; can be also a Perl script.

Sample applications for default value:
 

Description...
How to realize...
Text based (no Perl scripting) Just type in the desired default value.
Current date & time Type in: &datetime2str(time)
 
Required Click here to mark this field as required.
Unique Click here to mark that this field's content has to be unique in the entire table.
Verification rules Type in rules to verify field's content (multiple rules separated by semicolon); if this is left empty, verification is done based upon used field type.
 
Rule...
Description...
int Positive and negative integers.
float All numbers ("+", "-", "." and digits).
alpha Characters only (A-Z, a-z).
alphanum Characters and digits only (A-Z, a-z, 0-9).
positive Positive numbers only.
negative Negative numbers only.
range:x,y All numbers from x to y.
values:val1,val2, ... Only given values are allowed.
min_size:x Minimum length of required input.
max_size:x Maximum length of allowed input.
valid_email E-mail address checking for correct format.
valid_URL URL checking for correct format.
accepted Required field (same as "required" in field types); e.g. used for checkboxes.
format:<x>::<error> <x> must match a Perl regular expression.
<error> may contain a customized error message, shown instead of the default one when verification failed.

Samples for field verification:
 

Rule...
Allowed content...
range:1,10 All positive numbers from 1 to 10 (e.g. 2, 9.35, ...).
values:yes,no Allowed input "yes" or "no" only.
min_size:5 At least 5 chars required, e.g. postal code check.
format:^\d+\.\d\d$ One or more digits followed by point and two digits, for example: 123.78 (Perl expressions).
 
Edit control Choose the intended edit control type:
 
Edit control type...
Description...
Automatic selection Let MailingStar automatically select the matching edit control type based upon the field type.
Text input control Standard text input field.
Text input with dropdown list * Combined text input and dropdown list control (requires JavaScript enabled).
Password input control Password text input field.
Checkbox Checkbox (value = 1 when enabled).
Checkbox list * List of multiple checkboxes.
Upload (image) "Upload file" field for images (uploaded content will be stored in "binary" directory).
Upload (other files) "Upload file" field for binaries and memos (uploaded content will be stored in "binary" directory).
Text area Multi-line textbox (applicable for data types "text", "memo" and "htmlmemo").
Radio buttons * Radio buttons.
Combobox (Dropd. list) * Dropdown list.
List * Same as combobox, but items appears as listing.
Multiselectable list * Same as list, but allows to choose multiple items.
Hidden Hidden from users, but may have a value (as it is specified in "Default value")
* Values must be specified in field "Edit control data" below.
 
Edit control data Applicable for radio buttons, comboboxes, lists and multiselectable lists to determine the field content. Format: <Internal used value>|<Displayed value>

For example:
 
  01|Get YourAffiliates now
02|Get EasyData now
03|Get AccessGuardian now
...
 

Edit control width Applicable for text and password input fields as well as text areas. Type in the width of concerned field in characters (this does not set maximum length of field input).
Edit control height Applicable for text areas, lists and multiselectable lists. Type in the height of concerned field in lines (field content can contain more or fewer lines than set here).
Edit control template Advanced users only: Active template for executing Perl scripts.
Column width Type in the width of the table column concerned field appears in. Use either percentage value or pixels; leave empty for standard setting.
Column alignment Select alignment of the table column concerned field appears in.
Cell vertical alignment Select alignment of the table cell concerned field appears in.
Max. size Type in max. number of characters allowed for input.
Images, binary & memo fields: Type in max. file size (bytes) allowed being uploaded.

Important notes: If you edit a system field (all system fields starts with an underline character), some of the settings above may be not available for selection. Don't touch pre-filled settings for system fields; you may negatively affect their behavior.

How to change sorting of fields:

Look for the field you wish to move around and click on either "move up" or "move down" to change the field's position. This action takes effect to the admin panel and to the dynamically generated subscriber lounge templates (except mail templates).

How to delete a field (use with care only):

Look for the field you wish to remove from the table and click on "Delete". However, please note that once a field is removed, all related content will get lost and cannot be recovered.

By the way: All table parameters are automatically updated and the concerned field becomes removed from these settings.

Empty table:

Just select the desired options and click on the "Clear data" button in order to clear the concerned table. Please note that once a table (or part of it) is cleared, all related content will get lost and cannot be recovered.

Important note: Since all entries of concerned table may get lost, this option should be used with care (e.g. clearing table from test entries before starting to run your mailing lists officially).

Table layout parameters:

On the "Restructure" screen of concerned system table, there is a button named with "Edit table parameters" which leads you to the table layout parameters screen.

Usage note: The shown table parameters may not be available for all system tables.
 

MailingStar asks...
Description...
Table display label Used for admin's convenience only. This parameter can be ignored normally.
Table browsing mode
Sort records by (when browsing) Right box (available selections): Choose field and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove a field or "Up" and "Down" to change field order. You may also decide for descending or ascending sorting (standard).

Alternatively you can type in a comma delimited list of fields manually. Add "-" before a fieldname to sort in descending order (ascending sorting done by standard).

View records per page Number of records displayed per page.
Visible fields * Right box (available selections): Choose field and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove a field or use "Up" and "Down" buttons to change field order.

Alternatively you can type in a comma delimited list of fields manually.

Linked columns Field content is linked and if clicked on, concerned record will be displayed in detailed entry view mode.

Right box (available selections): Choose field and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove a field or use "Up" and "Down" buttons to change field order.

Alternatively you can type in a comma delimited list of fields manually.

Detailed entry view mode
Visible fields * Fieldnames shown when viewing a record detailed.

Right box (available selections): Choose field and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove a field or use "Up" and "Down" buttons to change field order.

Alternatively you can type in a comma delimited list of fields manually.

"Add record" mode
Visible fields * Fieldnames shown when adding a record (e.g. customer subscribes to your service).

Right box (available selections): Choose field and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove a field or use "Up" and "Down" buttons to change field order.

Alternatively you can type in a comma delimited list of fields manually.

"Record update" mode
Visible fields * Fieldnames shown when modifying a record (e.g. customer change existing profile).

Right box (available selections): Choose field and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove a field or use "Up" and "Down" buttons to change field order.

Alternatively you can type in a comma delimited list of fields manually.

* These are required (and important) fields; double-check them for containing correct values.

Search layout parameters:
 

MailingStar asks...
Description...
Sort records by default Right box (available selections): Choose field and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove a field or "Up" and "Down" to change field order. You may also decide for descending or ascending sorting (standard).

Alternatively you can type in a comma delimited list of fields manually. Add "-" before a fieldname to sort in descending order (ascending sorting done by standard).

View records per page Number of records displayed per page.
Search fields * Fieldnames available for searching (no binary, memo & image fields).

Right box (available selections): Choose field and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove a field or use "Up" and "Down" buttons to change field order.

Alternatively you can type in a comma delimited list of fields manually.

* These are required (and important) fields; double-check them for correct values.

Behavior:
 

MailingStar asks...
Description...
"Add record" mode Available parameters:

"Data verification script": Perl script being executed after pressing the "Submit" button (before data is added); suited for input validation.

"Run this code before applying actual changes": Perl script being executed after the data verification script or (in moderated environments) record approval. It is not executed when data verification script returns an error or admin declines a moderation request.

Possible applications:

Modify some field values before posting, validate input or update data in other tables or perform other actions (e.g. calling 3rd-party software).

Notes for using Perl codes:

Field values are read- and writable via hash $fields{<fieldname>}. Just replace <fieldname> with a field of the concerned table.

Cancel posting to the table by making Perl code return number below zero. Return -2 in order to don't display "add form" again. Add error messages to global @errors array.

Usage example ("Data verification script"):

At least one of both fields, option1 or option2, must be chosen...

if ($fields{option1} eq "" && $fields{option2} eq "") {push (@errors, "One of these options must be selected.");-1;} else {0;}

"Record update" mode Available parameters:

"Data verification script": Perl script being executed after pressing the "Submit" button (before data is updated); suited for input validation.

"Run this code before applying actual changes": Perl script being executed after the data verification script or (in moderated environments) record approval. It is not executed when data verification script returns an error or admin declines a moderation request.

Possible applications:

Modify some field values before posting, validate input or update data in other tables or perform other actions (e.g. calling 3rd-party software).

Notes for using Perl codes:

Cancel posting to the table by making Perl code return number below zero. Return -2 in order to don't display "update form" again. Add error messages to @errors array.

Usage example: See above for "Add record" mode.

"Record delete" mode Available parameters:

"Data verification script": Perl script being executed after sending a deletion request (before data is removed); suited for input validation.

"Run this code before applying actual changes": Perl script being executed after the data verification script or (in moderated environments) record approval. It is not executed when data verification script returns an error or admin declines a moderation request.

Possible applications:

Validate input or remove data from child table(s) or perform other actions (e.g. calling 3rd-party software).

Notes for using Perl codes:

Cancel deletion from the table by making Perl code return -1 and adding error messages to global @errors array.

Usage example ("Data verification script"):

If field can_delete is empty, concerned record cannot be deleted...

if ($fields{"can_delete"} eq "") {push (@errors, "Record is marked as locked and can't be removed.");-1;} else {0;}

"Log in" mode Possible applications:

Verify additional conditions before allowing user to log in (e.g. date or time, calling 3rd-party software).

Notes for using Perl codes:

Login variable is $login; password variable is $pwd, Decline logging in by making Perl code returning -1 and adding error messages to global @errors array.

Usage example ("Run this script after logging in"):

If field balance is <= 0, then no login is granted...

if ($table->FindKey($login) && $table->{FieldByName}->{balance}<=0) { push (@errors, "Your balance is not positive. Please remit money to your account first."); -1;} else {0;}

After logging in redirect user to
this URL
Possible applications:

After users are successfully logged in, they can be redirected to specific URLs.

Notes for using Perl codes:

It's an active template ("&" at beginning initializes Perl script).

Available variables are $login (user login), $pwd (user password) and $table_name (name of the concerned table).

Usage example: Redirect user to a page with owned records...

&"search.cgi?tbl=$table_name&filter._email=".escape("='$login'")."&action=search"

Moderation request alert If moderation is enabled you can select to be automatically notified by e-mail when new moderation requests are waiting in queue.
 
Selection...
Description...
Don't send alerts Disable this feature.
After first moderation request Send one message regardless of the number of incoming requests.
After each moderation request Send a message for each new incoming request.
 
Moderation decline note
When declining a moderation request you can optionally send an e-mail notification to the record owner (field _email).
Send "On decline" message when
modification is declined by admin
Mark this button to send out an e-mail notification to record owners telling them about declined moderation requests.
"On decline" message body templ. Specify the template file used as notification text.

Permissions (exclusively for registered user table):
 

MailingStar asks...
Description...
Anonymous user permissions
Set the permissions for people currently not having a subscriber profile.
Add Allow people to subscribe online through the subscriber lounge. This should be activated unless you have a closed system (e.g. profile creation through the admin only).
Moderate additions New profile creation will be put in moderation queue first (see main admin menu "Moderate user actions" of registered users' table).
Logged in subscribers
Set the permissions for people having a subscriber profile.
Update own, Delete own Allow subscribers to change their personal profile through the subscriber lounge.
Moderate own updates,
Moderate own deletions
User actions will be placed in moderation queue first to allow verification by admin.

Important note: Quick (un-)subscriptions ignores these permission settings.

Technical note: If you wish to modify records that are currently in moderation queue, mark the button "Remind to update" when approving these records. On the moderation result screen, you can edit them right away (new browser window opens).

Menu layout:
 

MailingStar asks...
Description...
Sub-menu entries Allow or block sub-menu entries; possible values: "add,clone,update,delete".

Database script pages headers / Login script page headers:

Customize the headlines of generated pages; also usage of images (IMG tags according HTML) is allowed.

Table modifications logging:

Check this button in order to log all table modifications (add, update and delete records) to TABLENAME.modif.log located in the "data" directory (TABLENAME is replaced with the name of the concerned table).

In this way, you are able to manually recover lost data or track IP addresses of users trying to cheat your system.

Technical notes: Content of memo / image / binary field types is not logged.

Table automatic maintenance:
 

MailingStar asks...
Description...
Maintenance interval (in seconds) Time frame between running automatic maintenance (e.g. system jobs, data backups). Recommended range: 3600 to 43200 seconds (1 to 12 hours).

Data file backing up:

What exactly is backup generation ?

MailingStar is able to generate backups of its data files automatically to allow restoring them later. Generated backup files (extension .db.bak) are located within the "data" directory.

Pre-requisites for generating backups:

Maintenance interval: Ensure that a maintenance interval is specified. Please see screen "Table parameters", "Table automatic maintenance". Recommended range: 3600 to 43200 seconds (1 to 12 hours).

Important note: The backup update period must be longer than the specified maintenance interval.

Enable / disable backup generation:
 

MailingStar asks...
Description...
Number of backup files Type in the number of different backup file levels generated (max. 5). Increasing this value gives you a better chance to restore elder data, but also requires more diskspace.
Backup file #1 update period (hours) Specify the time frame between backups are generated.
Rename backup file #x to #x
after this number of updates...
Type in the number of updates processed for the concerned backup file before it will be replaced by the next generation of backups.

Technical notes: In order to disable the backup feature, set "Number of backup files" to 0 or leave it empty. New backups are not generated for unchanged files (since backup already exists).

Recommended backup settings:

Maintenance interval = 3600; number of backup files = 4; backup file #1 update period = 6
Rename backup file #1 to #2 after this number of updates of backup file #1: 4
Rename backup file #2 to #3 after this number of updates of backup file #2: 5
Rename backup file #3 to #4 after this number of updates of backup file #3: 6

<TABLENAME>.db.bak1 holds 0 to 6 hours old database content.
<TABLENAME>.db.bak2 holds 6 to 24 hours old database content.
<TABLENAME>.db.bak3 holds 1 to 5 days old database content.
<TABLENAME>.db.bak4 holds 5 to 30 days old database content.

<TABLENAME>: Name of the table, concerned backup file belongs to.

Retrieve data from backup:

If you wish to roll-back a corrupted data file, just replace the original file with the latest error-free backup copy.

Before doing so, please ensure that the table definition did not change recently (e.g. by adding new fields). In this case, the table definition needs to be set to the configuration of the data file to restore.

Important note: Restoring data files should be managed by an experienced system administrator only. In case of emergency, SunnyScript can provide you with special assistance to professionally handle this task (optional fee-based service).

Helpful hint: In order to create a backup of an entire database, you may use the "Download/upload table package" feature.

"Password reminder" utility:

If a member forgot the password to access the subscriber lounge, it can be re-send automatically by the system at request.

This feature can be also used for quick subscribers (or profiles created during address imports) to request their automatically generated passwords (to allow them accessing the subscriber lounge).
 

MailingStar asks...
Description...
Pwd. remember msg. body template Select the file that keeps the notification message.

Important note: Since the admin password is saved encrypted for higher security, it cannot be restored. See chapter "Helpful hints and technical reference" about information on how to reset the admin password.

Templates substitution:

If you wish to use your own templates instead of the pre-defined ones, please select your desired templates here (more details about templates are available in the next chapter). "--use default--" will activate the standard template for concerned output.

Helpful hint: If you're unable to find your recently created templates within the lists, hold CTRL or SHIFT key and click on the "Reload" button of your browser software to reload the browser window (to replace an old copy in cache).
 

Quick (un-)subscriptions (direct actions from websites)...

What are quick (un-)subscription forms ?

The normal way to get subscribed to your mailing lists is to lead the user to the subscriber lounge and let fill in a profile creation form; then the user can log into the lounge and decide for mailing list subscriptions to receive.

However in most cases it is also desired to provide forms on webpages for (un-)subscriptions requesting nothing more than the e-mail address (or other basic information). So the subscriber lounge is not required for this way.

Technical note: Before using quick (un-)subscriptions, ensure that you have enabled them on "Edit MailingStar parameters".

Important note: Creating quick (un-)subscription forms requires basic HTML knowledge.

What about the subscriber lounge ?

Also profiles created through quick subcriptions receive a password assigned automatically. You can let send this password to the subscribers by using the mailing list's "welcome message" or the "confirmation message" of security settings.

Custom quick (un-)subscription form - structure:

The following HTML commands are required to build a form for custom quick (un)-subscriptions:

1. FORM action tag:

Example: <form action="http://www.sunnyscript.com/cgi-bin/ms/qs.cgi" method="POST">
Description: Change the URL to point to the software directory of MailingStar calling qs.cgi to process this form.

Technical note: Instead of using the POST form submission method, you can also use GET in most cases.

2.1. Action field for subscriptions:

Example: <INPUT name="action" type="hidden" value="subscribe">
Description: Let MailingStar know that you want to do a subscription to mailing list(s).

2.2. Action field for unsubscriptions:

Example: <INPUT name="action" type="hidden" value="unsubscribe">
Description: Let MailingStar know that you want to do an unsubscription from mailing list(s).

3. Action field for mailing list determination:

Example: <INPUT name="list" type="hidden" value="1,2,3">
Description: Specify the list IDs for which this action will apply (separate multiple lists with commas).

Helpful hint: You can also make this action field visible for custom selection of desired mailing lists.

4. E-mail address field:

Example: <INPUT name="_email" size=25>
Description: Request the e-mail address intended to (un-)subscribe.

5. Optional fields to fill in (subscriptions only):

First name: <INPUT name="first_name" size=25>
Description: Ask for the first name.

Last name: <INPUT name="last_name" size=25>
Description: Ask for the last name.

Mail format: <INPUT name="format" type="hidden" value="text"> or <... value="html">
Description: Decide for the mail format (text or html). If the field is not available, "text" format will be pre-selected.

Primary language: <INPUT name="primary_lang" type="hidden" value="EN">
Description: Decide for primary language (use language codes as set in MailingStar parameters).

Seconday language: <INPUT name="secondary_lang" type="hidden" value="KL">
Description: Decide for secondary language (use language codes as set in MailingStar parameters).

Helpful hint: You can also make language and mail format selection visible to the user for custom selection (e.g. radio buttons for the mail format and two drop-down lists for the languages).

By the way: It is also possible to ask for other fields from the registered users system table. So you may request any kind of information from quick subscribers you find useful to have.

6. "Submit"-Button and end of form tag:

Example: <INPUT type="SUBMIT" value="SUBMIT"> and </FORM>
Descriptions: Both commands are mandatory; the first generates the submit button and the second closes the form.

Custom quick (un-)subscription form - sample form:

The following sample shows a basic subscription form (for unsubscription, just change line 2 accordingly):
 

<form action="http://www.sunnyscript.com/cgi-bin/ms/qs.cgi" method="POST">
<INPUT name="action" type="hidden" value="subscribe">
<INPUT name="list" type="hidden" value="1,2,3">
<P>Please enter your e-mail address here:</P>
<INPUT name="_email" size=25>
<input type="SUBMIT" value="Send this form now">
</form>

The alternative... Pre-defined quick subscription and quick unsubscription forms:

If you are not so familiar with HTML, you can also use pre-defined quick forms. They have the same style as the subscriber lounge, but don't require to log in and go through different steps.

These quick forms are suited ideally to be called as pop-up windows (use JavaScript) or in a frame-based website, because they are very compact in dimensions.
 

Action to perform...
URL to call (location varies on your system, of course)...
Quick pre-defined subscription form http://www.sunnyscript.com/cgi-bin/ms/qs.cgi?action=qsform
Quick pre-def. unsubscription form http://www.sunnyscript.com/cgi-bin/ms/qs.cgi?action=quform

The middle course... Custom forms together with the subscriber lounge:

Instead of just forwarding the user to the subscriber lounge (see chapter "Subscriber lounge and template management"), you can provide a small form requesting the e-mail address as well as having a (hidden) field for selecting mailing list(s).

When sending this form, the subscriber lounge is shown (create profile screen with pre-filled personal details).

Here is a sample form:
 

1
2
3
4
5
6
7
8
<form action="http://www.sunnyscript.com/cgi-bin/ms/db.cgi" method="POST">
<input type="hidden" name="action" value="add_form">
<input type="hidden" name="tbl" value="users">
<input type="hidden" name="lists" value="1,2,3">
<P>Please enter your e-mail address here:</P>
<input name="field._email" size=30 maxlength=100>
<input type="SUBMIT" value="Send this form now">
</form>

Let's explain it shortly line by line:
 
Line #...
Description...
1
Initializing form action tag: Starts the form and instructs the web browsing software to send all form content to this software. Has to be a correct URL to access db.cgi of MailingStar (located within the software directory).
2, 3
Instruction fields: This forces MailingStar to display the create profile screen of the subscriber lounge (copy&paste fields exactly as they appear to prevent errors).
4
List determination: Specify the list IDs to subscribe automatically (separate multiple entries by comma).

Usage note: This field can be also user editable, e.g. as radio buttons, checkboxes or drop-down lists.

5, 6
E-mail address field: Ask the user for its e-mail address.
7
Submit button:  Mandatory for each form; if clicked, current form content is sent to MailingStar for processing.
8
End of form tag: Closes the form; required to match HTML language rules.
 

Account blocking...

Account blocking is used to automatically track invalid e-mail addresses and remove them from your mailing lists. In this way, you always have clean address databases without the need to take care of undeliverable messages.

Pre-requisites for this feature:

1. An e-mail account (accessible via the POP3 protocol) which is solely reserved for MailingStar (no shared usage is allowed). Recommended mail storage: 512 KB per one thousand subscribers.

2. Personalized mailing method has to be used; quick mailings will not work (recipient addresses are hidden there).

How auto-blocking works:

MailingStar uses a rating system to analyze the availability of e-mail addresses when sending mailings:

Messages directly refused by Sendmail or the SMTP server are rated with two points. In such a case, very likely the concerned e-mail address is no longer available - or never was active.

Each time a mailing is sent successfully to an account, its blocking level is decreased by one point (but cannot be less than zero). So temporary problems like full mailboxes or short downtimes of the target mail servers are compensated.

Messages returning later (they are automatically stored at the special mail account, which is checked each data maintenance) are rated with one point. This happens often when a mailbox is over quota (too many messages waiting).

If the blocking level of a subscriber reaches ten points, the concerned profile is blocked and after a determinable time period (screen "MailingStar parameters", part "Data maintenance", "Days to store blocked users' accounts"), it will be removed.

However the subscriber can unblock its profile by using the subscriber lounge (a confirmation is necessary by the concerned subscriber, see screen "MailingStar parameters", part "Security settings", "Account unblocking confirmation").

Required settings for auto-blocking:

Click on button "Edit MailingStar settings" and go to the part "Data maintenance", "Auto-blocking of invalid e-mail addresses".
 

MailingStar asks...
Description...
Enable auto-blocking Mark this button to enable the auto-blocking feature.
E-mail address for undelivered msg. E-mail address of the mail account (where undeliverable messages are sent to).
POP3 host The server to access the mail account.
POP3 account user name The username to access this mail account.
POP3 account password The password to access this mail account.

Important note: Please ensure that the settings above are correct (account's username and password may be case sensitive).

Technical note 1: When enabling this feature, used POP3 account is automatically set as "return path" in outgoing mailings. So you don't have to take care about special list or message preferences.

Technical note 2: Auto-blocking works also for automatic mailings (but note that at least six automatic mailings are required to recognize a recipient address is unavailable).

Account blocking done by the subscriber:

For some reasons (like during holidays or when just busy) a subscriber may block its account manually.

Since blocked accounts are removed sooner or later (see "Data maintenance" of "MailingStar parameters"), please keep this application in mind when thinking about the time frame till account removements.

Usage note: The admin is able to block a profile by editing the concerned profile and setting the blocking level to the value "10".
 

Additional admin tools - statistics...

Effectiveness and mail reading tracking:

Effectiveness tracking is used to analyze the success of embedded URLs within mailings. Each time a user clicks at such an URL, MailingStar logs an access for the particular URL - so you are able to find out how successful your mail campaigns are.

Mail reading tracking allows you to trace the number of times subscribers are reading a particular mailing. Each sent mailing contains a hidden tracking script ("invisible image" HTML tag) that notifies MailingStar whenever a reader accesses it.

Important note: Because of the way this feature works, mail reading statistics are only available at HTML mailings. However effectiveness tracking works with both message formats (text and HTML).

Access tracking statistics:

Click on "Effectiveness tracking" available on main admin menu. The effectiveness tracking screen shows a list of all used URLs together with their tracking IDs and logged click-throughs.

Click on "Mail reading tracking" available on main admin menu. The mail reading tracking screen shows a list of all tracking IDs together with their corresponding dates and number of accesses.

Both statistics are updated each time data maintenance is executed. It is recommended to wait approximately three days after sending a mailing to get adequate statistics allowing to rate the success of the concerned mailing.

Add tracking features to a mailing:

When creating a mailing job, you find the following parameters under "Mail reading / link click tracking":
 

MailingStar asks...
Description...
Track clicks Mark this checkbox to enable the effectiveness tracking feature.

All URLs within the concerned mailing are automatically converted into special URLs containing assigned tracking codes.

Track mail reading Mark this checkbox to enable the mail reading tracking feature and automatically add the tracking script to the mailing.
Tracking code Specify a tracking ID (any character is allowed) or take over the default one.

Helpful hint: The code should be half descriptive; for example "Jan-Special-007" could stand for "Seventh mailing with special offer for January".

Effectiveness tracking expert note: Each mailing can contain differently tracked URLs... you may use unique tracking IDs for each URL by taking a generated one as base and invent further tracking codes being then implemented manually.

Technical note: Click-throughs and times of mail reading are also tracked for mailings listed on public mailing archive.

View subscriptions & unsubscriptions:

Click on "View subscriptions & unsubscriptions" available on main admin menu. Now select the mailing list for which you want to get activity statistics and click on the button "Show statistics".

There are daily statistics for each list available showing the subscriptions and unsubscriptions made per day as well as the actual total amount of subscribers. A percentage value shows the changes of the list compared to the previous day.
 

Additional admin tools - list merging

Click on "List merging" available on main admin menu.

On the following screen, please select the source and target mailing lists you wish to merge. Additionally you can decide to remove the source list right away (be careful, this action cannot be recovered) and suppress welcome messages.
 

Additional admin tools - address import services (MailingStar plus only)...

E-mail web scanner - overview:

The web scanner is intended to scan websites automatically for e-mail addresses. The collected e-mail addresses are stored in an output file for later invitation or direct import to one or more mailing lists.

Click on "E-mail web scanner" available on main admin menu to access the "e-mail web scanner job list" containing all recently created scan jobs and available actions (depending upon job status) for them:
 

Available job actions...
Description...
edit Edit an already created job (available unless the job was started).
delete Remove the concerned scan job from this list.

Technical note: It also deletes the scanner output file connected to this job; be careful when different jobs sharing one file (they are removed regardless of remaining jobs).

run Start a scan job now and follow all actions live on your web browser.

Usage note: When closing the web browser window or losing network connection, the job is stopped after five minutes but can be continued later again.

Technical note: You can run a job in background by using the "run in bg mode" feature.

run in bg mode Start a scan job in the background mode now (the task is executed silently).

Usage note: The job is kept alive even when closing the browser window or losing your network connection - the best way for scanning complex site structures.

Helpful hint: In order to get the latest status information of background mailings, you just need to reload the job manager screen.

Important note: Since scan jobs are time and resource consuming, your server may work slightly slower than usual while the job is active.

repeat Repeat a previously stopped scan job (same as "run") and follow all actions and tracked URLs live on your browser.
repeat in bg mode Repeat a previously suspended scan job (same as "run in bg mode"), but use the background mode for scanning.
suspend Stop a scan job currently executed (see status field of the concerned job).

Usage note: If a job was interrupted by "suspend", you can continue the job at the same point as it stopped by clicking on "run" or "run in bg mode" again.

How to create a new scan job:

Click on the button "Add scan job" at the bottom of this screen. Alternatively you can click on "Add job" on the upper right corner of the screen to create a new web scan job.
 

MailingStar asks...
Description...
Job settings
Job name Specify a name used to identify the job later in the job list.
New web scanner output file
Existing web scanner output file
Either decide to create a new scanner output file and provide a valid filename (valid chars: A-Z, a-z) or select an existing file to be expanded with new addresses.

The scanner output files are created within a subdirectory called "data/mgmails" within the software directory of MailingStar plus.

Exploration
Start URL Define the starting URL (http://www...) to begin with the scanning. From this page (e.g. main entrance of a website) all subpages and links are followed.
Exploration depth Type in the number of levels to follow links on a website. As higher the exploration depth is, as longer the job takes and more addresses are found. A good average value is 25.
Exploration area
 
Possible selections...
Description...
this domain only Scan only this domain name for addresses.
dir. of start URL and subdirs. Scan also subdirectories below the specified URL.
only directory of start URL Scan only the directory of the specified URL.
all the Web Scan the entire web for addresses.
 
URL exclude filters Specify a list of URLs (one per line, use * as placeholder for variable content) you do not wish to scan.
E-mail filter
E-mail exclude filters Specify a list of addresses (one per line, use * as placeholder for variable content) you do not wish to include into the scanner output file.

For example: "abuse@*", "max*@maxjump.com" and "tobi*@starenterprise.*".

E-mail include filters Specify a list of addresses (one per line, use * as placeholder for variable content) you wish to include into the scanner output file.

For example: "info@*", "max*@maxjump.com" and "tobi*@starenterprise.*".

Usage note: If this parameter is filled, only specified addresses are imported; no other ones are read into the scanner output file.

If all settings are done, click on the button "Add job" to save the job. Now you may start the job by using the job list screen.

Address import utility:

Scanner output files can be either used for invitation mailings or directly imported into one or more mailing lists by using this feature. The address import utility is also able to read in existing address lists stored on CD or diskette.

Click on the link "Address import utility" available on the main admin menu. Alternatively you can click on "Address import utility" on the upper right corner of the screen (available when you are on the "E-mail web scanner").
 

MailingStar asks...
Description...
Extract options
Extract from web scanner output file
Read in from this file
Either decide to import an existing web scanner output file or use a text-based database you have on CD or diskette.

Technical note: The structure of the database to import does not matter. It can have any text-based format; intelligent routines will find matching entries automatically.

Subscription
Subscribe to mailing list(s) Decide for the mailing lists you wish to add the addresses to. Hold the CTRL (or appropriate key) to choose multiple entries.
Send welcome message Mark this button to send a welcome message for each mailing list to subscribe.
Import in background mode Mark this button to use the background mode for the address import procedure. This is recommended for large files (> 1MB) and low CPU performance.
Profile default settings
A profile is created for each e-mail address imported storing preferences and list subscriptions. If desired, people can request their passwords using the password mailer (subscriber lounge) and then also access the subscriber lounge.
Message format Select either "TEXT" or "HTML" as preferred mailing format for created profiles. If you are unsure, use "TEXT", because this can be read by all e-mail clients correctly.
Message language Choose a language set as preferred language for created profiles.

If all settings are done, click on the button "Import" to start the address import procedure.

By the way: Just one profile per e-mail address is created, even if multiple list subscriptions are done (concerned profiles will be updated accordingly). So this keeps the reg. user table always in clear condition.

Technical note: When importing e-mail addresses into a mailing list (no matter from which source), duplicate e-mail entries are skipped automatically. This ensures to have each address only once per list.

Unsubscribe addresses:

You can process bulk unsubscriptions by specifying e-mail addresses manually or by processing existing black lists. Just click on the link "Bulk unsubscriptions" available on the main admin menu.
 

MailingStar asks...
Description...
List of e-mail addresses to unsubscribe
Type list of e-mail addresses
Upload file of e-mail addresses
Either type in e-mail addresses for being removed manually (one address per line) or specify an opt-out address database for being uploaded and processed.

Technical note: The structure of the database to import does not matter. It can have any text-based format; intelligent routines will find matching entries automatically.

Action to perform
Delete profile
Unsubscribe from selected lists
Decide to remove the profiles definitively from the system or to keep them intact and just unsubscribe the concerned addresses from the selected list(s).

Important note: Please note that removed profiles cannot be recovered, unless you take them from existing backups.
 

Database import and export tools...

In order to import or export data, click on the button "Import / export data" available on the main admin menu.

Import data into database:

Click at the button "Start data import..." to begin reading in an existing 3rd-party database.
 

MailingStar asks...
Description...
Determine data file being uploaded Choose the file holding the data intended for being imported to MailingStar or select an already uploaded one * for processing.

* It is also possible to upload files directly to the server (e.g. via ftp) and then use the admin panel for importing them - please refer below for more information.

Specify data format Select the type of the importable file; alternatively to the pre-defined types, you can also set up a custom format in case of reading special database structures.

Please consult the manual of the 3rd-party database product you wish to import data. If it directly supports MailingStar, mark "EasyData exchange format".

Important note: Please ensure to decide for the correct data format, otherwise the imported data may appear being destroyed.

Determine the target table New table:

Select this radiobutton to create a new table for the importable data.

Important note: Ensure to mark "Add autoincrement key field" to automatically add a key field (if not existing) - the first table field must be unique to allow identifying records.

Existing table:

Select this radiobutton and choose the desired table (must have the same structure as the one to import); decide either to replace or update already existing data.

Fields selection and post-processing Determine whether you want to import all fields or just selected ones.

If "Let me select fields after uploading" was chosen, a screen appears after the file was read in that shows a list with fields for being importable.

Mark "Delete uploaded file after processing" to remove the source file from the system as soon as the data import has been finished (recommended).

Click on the button "Import data" to start the importing process. After it is finished successfully, please check the read in data for consistency first. It is also recommended to keep a backup copy of all original database files for later references.

Technical note: Data formats "... with field names" requires that the first line of the importable file holds the names of the fields. Alternatively, default names are chosen you can rename later at any time.

Importing already uploaded source files:

This feature is useful especially when trying to import huge databases, because the file size allowed to read in through the admin panel may be limited by your server or webbrowsing software...

Just place the source file into the directory data/import.tmp. Now go to the admin panel, click on "Import / export data" and select the concerned file from the list (see parameter "Determine data file being uploaded").

Export data from database:

Select the appropriate source table and click on "Continue..." to go to the next screen.
 

MailingStar asks...
Description...
Specify data format Select the type of file you wish to build: You can either decide for a pre-defined format or a custom one suited for special applications.

Usage note: If supported by the target database software, choose "EasyData exchange format" to achieve best results.

Select fields to export By default, all fields and their contents will be exported; however you can uncheck fields not required in your target application (e.g. the ID field may be of no usage there).
Set optional data filter Depending upon the available system fields, you are able to set additional filters.

Only records matching the filter criteria (multiple filters can be connected with AND / OR operators) will be exported. This may save additional diskspace.

For example, you can specify a range of records by using the key field filter (ID field) or enter a search query to export only a determined group of records.

Now click on "Export data" to start the exporting process. A "save file" dialog is shown by your web browsing software to store the exported data file on your computer.

Advantages of the "EasyData exchange format":

The "EasyData exchange format" is a tab-delimited text-based format also storing binary field content, like images or software files together with the textual data (URL-encoded).

Where possible, this format should be used for data import and export tasks to ensure best results when handling non-textual contents (all other supported formats cannot handle binary fields).

Technical note: If you are a programmer interested in implementing our exchange format into your own applications, please let us know. We are able to provide you with additional information upon request.

Helpful hint: Should you wish to manually back up an entire database or to carry an existing one over to an other MailingStar installation, you may decide to create a "table package" as described more closer in the following.

Table packages - overview:

A table package contains an entire database (the table and all related elements) in one single file (TABLENAME.ede). So table packages are ideally suited for carrying an entire database to an other server or for generating manual backups.

Download table package:
 

MailingStar asks...
Description...
Specify source table Select the table being intended for package downloading.
Include log files Mark this button to add all log files to the package (may become very large).
No compression Click here to not compress the table package.
Use internal gzip compression Use the internal compression utility (to pack the table package) or unmark this checkbox and specify external utility as followed.
Use external compression program Click here to compress the table package by using a server-sided tool.

"Compression command template": Contains the command used for compression. By default, MailingStar tries to use the gzip compression utility of the server.

The compression command usually has two variables: $file_to reflects the compressed file, $file_from reflects the original source.

"Compressed file extension": Extension appended at file marking it as compressed.

Now click on "Download table" to save the table package. A "save file" dialog is shown by your web browsing software.

Upload table package:
 

MailingStar asks...
Description...
Specify ".ede" file Select a local ".ede" file being intended for package uploading.
Decompression method
Compressed table packages needs to be decompressed first.
No decompression Click here to not decompress the uploaded package.

Important note: In the case a compressed package is uploaded but not decompressed correctly, an error message will be displayed and installation aborts.

Use internal gzip compression Use the internal decompression utility (to unpack the table package) or unmark this checkbox and specify external utility as followed.
Use external compression program Click here to decompress the table package by using a server-sided tool.

"Decomp. command template": Contains the command used for decompression. By default, MailingStar tries to use the gzip compression utility of the server.

The decompression command usually has two variables: $file_to reflects the target ".ede" file, $file_from reflects the original source.

"Expected filename after decompression is complete": Select either to autodetect the package filename or specify one (has to end with .ede).

Now click on "Upload table" to copy the table package to the server.

Technical note 1: Should there already exist a table with equal name, MailingStar chooses a new name for the uploaded table (may be changed later at "Restructure table" screen).

Technical note 2: The choices "Use internal GZIP compression" respectively "Use internal GZIP decompression" for table package down- and uploads are only available, if there is the Perl module "Compress::Zlib" installed.
 


 
Subscriber lounge and template management
Access the subscriber lounge...

The subscriber lounge is the main control area for existing list members to manage their profiles and subscriptions online. And it is also suited to allow interested people joining your mailing lists.

By the way: Also quick (un-)subscriptions are possible (with simple HTML forms, see previous chapter for details). In this case, the subscriber lounge is normally not required and can be simply ignored.

How to access the subscriber lounge:
 

Action to perform...
URL to call (location varies on your system, of course)...
Access subscriber lounge http://www.sunnyscript.com/cgi-bin/ms/login.cgi             or
http://www.sunnyscript.com/cgi-bin/ms/my.cgi
 
 
Subscriber lounge - basic overview...

First step - login or register:

In order to get access to the subscriber lounge, new users must sign-up first to get their own profiles. Members already having a profile can use their e-mail address and password to get access. Both is done on the first subscriber lounge screen:
 

Login screen options...
Description...
Login Use the e-mail address and password to get access to the lounge.
Sign up now Click on this link in order to become a subscriber.
Mail password * Let MailingStar remind to forgotten passwords via e-mail.
Mailing archive Click on this link in order to go to the public mailing archive.

* This is a great feature for quick subscribers or people added via the address import services of MailingStar plus. They can retrieve their automatically generated passwords and then customize their profiles.

Subscriber lounge content:

After you have logged in as a subscriber, you'll see all available mailing lists. In addition, the top menu line provides links to other places of interest (depending upon the current system status):
 

Top menu options...
Description...
Subscriptions Mailing lists available for selection.

Where applicable, the list name is clickable to go directly to the archive of the concerned mailing list.

Profile Manage the current profile (update, remove, block or unblock).
Logout Leave the subscriber lounge (login page will be displayed).
Help Get additional help information (see "System parameters" screen).

Subscriber lounge archive:

Depending upon the concerned mailing list parameters, it is possible to provide an archive of all previous mailings either to subscribed users only or to the general public (you can also link to the public mailing archive from an outside webpage).

For more information, please have a look at the chapter "Mailing list management".

Technical note: Because of their intended applications, automatic mailings and such ones sent to all registered users will not be shown in the archive at all.
 

Subscriber lounge customization with templates...

Templates are used by MailingStar to build the subscriber lounge frontend. Each screen shown on the lounge is generated from one or more template files (mail messages are also handled in this way).

By default, a standard template scheme is used. It's the ideal basis to create your own templates or modify the existing ones. More detailed information will follow later in this chapter. You have two choices of modifying the lounge templates:

1. Modify color and font schemes only:

You may adjust the color and font schemes to achieve a similar layout as the one of your business website...

Go to the admin menu, click on the button "Edit templates" and search for "main template" labelled entries. These contains various layout settings taking effect to all sub-templates connected with the concerned main template.

2. Full set of freely configurable templates:

Beside of just customizing color and font schemes with style sheet commands, you can create your own set of templates or re-write the standard ones (they are a good basis for your own templates).

Each template is written in HTML and contains special tags which will be replaced by appropriate content. There's nothing you cannot customize, however you should have a familiar understanding of MailingStar and HTML programming.
 

Available templates...

Available templates:

There are three kinds of templates: Main templates contain the master layout; sub-templates hold the layout of output blocks appearing in these main templates; independent templates stand alone.

A detailed list with comprehensive descriptions of all template files is available from the admin panel (see "Templates editor" screen). Please contact our customer service for pre-sale inquiries asking for this list.

Helpful hints: If you create your own template sets, start creating the main templates first to have a better overview. After each single template is ready, run a test-drive to check correct functionality.

Important note: We strongly recommend to keep backup copies of the original template files for later referencing purposes.

Location of templates:

All template files are physically located in the templates directory you specified during installation of MailingStar.

As long as you create or modify templates using the admin panel, you don't have to care about. However if you create templates manually, you must copy them to this location, because MailingStar only recognizes files in this directory as templates.
 

Customization of templates...

As you may have seen above, each template contains special tags in the format <!--$TAGNAME--> which will be replaced by MailingStar with appropriate content (like menu options or system messages).

For some advanced functions, Perl code is used on the templates together with internal script variables. You may just surround these codes with additional HTML tags or modify them as desired (suggested only if you are familiar with Perl).

Important notes: Some tags are specific for selected templates. If you add a tag to a template which cannot use it, concerned tag will be simply ignored. However a missing tag can cause that users are not able to get access to selected features.

If you wish to customize templates, go to the admin menu and click on the button "Edit templates".

List of tags and Perl script variables you can use on templates:

A detailed list with comprehensive descriptions of all valid variables and tags is available from the admin panel (see "Templates editor" screen). Please contact our customer service for pre-sale inquiries asking for this list.

Expert note: Common script variables available in all templates are $in{<form_var>}, which gives access to form variables submitted by the user (<form_var>) and $namespace->{'TAG'}, which offers access to special tag variables.

Custom software solutions:

Contact our sales department to request a free quote for our individual programming and customization services. Our team of experienced programmers and website designers looks forward to take over your project at affordable rates.
 


 
Helpful hints and technical reference
Background processes...

MailingStar runs long-living processes in the background, e.g. sending mailings and importing e-mail addresses. Depending upon the type and size of a job, server performance and other factors, these processes can take several minutes.

In order to manage this task with highest possible compatibility to different server systems, MailingStar uses "fork" function to prevent killing of resource consuming processes by running clone processes with other PID (process identification).

So the allowed CPU time on your server isn't exceeded, but MailingStar can manage all tasks without disruptions. In this way, you don't have to take care about the size of your jobs nor deep technical details of your server configuration.

However sometimes "fork" function is not available (this is detected automatically when running the admin panel first time, see "System parameters" screen). In this case, please refer to the chapter "Mailing list management" ("Data maintenance" of "Edit MailingStar parameters" screen) for more details about how to workaround this problem.

Usage note: Even if you lose your Internet connection or your web browser crashes, the background processes are kept alive. Just wait some time (ca. 15 minutes) and then log in as admin again to check for the concerned task done.
 

Address import from other products (SunnyScript and 3rd-party ones)...

Important note: The solution explained here is only applicable for MailingStar plus.

Most software products uses text based database files to store information. Because of this fact, you can easily import e-mail addresses from such databases by using the address import utility of MailingStar plus.

Go to the address import utility screen and select the desired database file for being imported. MailingStar plus will search the entire file, extract found e-mail addresses and skip other probably existing data.

Helpful hint: All SunnyScript products stores databases within a directory called "data" (see the concerned software's location). Just import files ending with *.db extensions into MailingStar plus.

Technical note: Since imported addresses are checked for multiple entries, refreshing of your imported address lists is possible by using the same database file (already existing addresses are ignored, only new ones will be added).
 

Affiliate management with YourAffiliates...

Beside of correct configuration of the order logging settings within "MailingStar parameters", you don't have to take care about anything else as long as YourAffiliates uses the same domain name as the subscriber lounge.

The reason for this pre-requisite is a security limitation in the cookie technology, that allows only domains reading a cookie, which have originally set it - that's why the domain names of YourAffiliates and MailingStar must match each other.

Use a different domain name:

For this application, MailingStar must set the affiliate ID instead of YourAffiliates on customer's computer. So you are able to use different domain names for both software packages.
 

Action to perform...
URL to call (location varies on your system, of course)...
Aff. URLs by MailingStar http://maxjump.com/cgi-bin/mstar/redirect.cgi?prg=<prg>&affil=<id>

<id>: Affiliate identification; <prg>: Affiliate program code.

According the above URL scheme you have to modify the advertising HTML codes used by YourAffiliates (please refer to the electronic manual of this product regarding details).

Smart tip: Have a look at SunnyScript's YourAffiliates - advanced affiliate management to empower full business' potential.
 

Forgot your admin password ?
 
If you forgot your admin password, you must remove the admin password file named admin.pass located in "auth" directory (see software directory of MailingStar). Then you can set a new password next time you access the admin panel.
 
Subscriber lounge and template translations...

The subscriber lounge of MailingStar is fully customizable and translatable by modifying the existing templates accordingly. In addition, also system messages may be translated:

In order to translate system messages into your desired language, download the files *.en (located in the software directory), which holds all pre-defined text parts and load them into a text editor.

Each language file uses the same structure:
  <Meaning or default text> => <Translation>

Please change only the part <Translation> while keeping the left-sided ones. After you finished translation, please upload the files to your server and give them a try.

Important note: You should create a backup copy of all original *.en for later reference.
 

Advanced search features...

Searching for information:

MailingStar provides a wide range of powerful search features to retrieve information from your stored data fast and accurate. In the following, we want to show how to built search operations in an effective way.

Let's first have a look at these two records used to explain the sample operations below:
 
id: 1
firstname: John
lastname: Smith
age: 27
postcode: 12345
city: Samplecity
country: Somewhere
id: 2
firstname: Max
lastname: Smith
age: 12
postcode: 02345
city: Samplecity
country: Somewhere

Usage note: All samples don't consider special features like searchable fields, whole word or case-sensitive search operations. They just refer exclusively to their concerned explained features.

Interpreting keyword searches:

In most cases, you can use any text string for query fields in order to start searching a table.

Sample query: smith
Delivered records: 1, 2

Multiple keywords should be separated by spaces. MailingStar automatically adds the logical operator AND unless an other one is specified (read below for details and additional explanations).

Sample query: john blanche
Delivered records: none ("john" is found in record 1, but "blanche" is not existing)

If you are not sure about the spelling of a word (e.g. singular/plural or different spelling alternatives), then just type in a partial word.  MailingStar will perform a sub-string search for the provided string.

Sample query: some
Delivered records: 1, 2 (finds string "some" in values of field "country")

Boolean operators: AND (&) OR (|) NOT (!)

The logical operators AND, OR, NOT are supported. Instead of the words AND, OR and NOT you can also use the operator characters ampersand (&), pipe (|) and exclamation mark (!).

Sample query: john AND smith
Delivered records: 1

Sample query: john OR max
Delivered records: 1, 2

Sample query: john ! max
Delivered records: 1 ("!" stands for "NOT")

Technical note: At advanced searches you can specify a default operator.

Parentheses: ( )

Operations put within parentheses are processed first; the result is then used for further operations within the search string.

Sample query: (john NOT max) AND samplecity
Delivered records: 1 ("john NOT max" delivers record 1; then looks there for "samplecity"; both statements are true (AND))

Phrases: " "

Strings put within phrases are searched exactly as they are (not case-sensitive).

Sample query: "sample"
Delivered records: 1, 2 (finds "samplecity")

Sample query: "JOHN"
Delivered records: 1

Wildcards: * ? \

Beside of the standard sub-string search, it is possible to use more specific wildcards for automatically expanding a search operation. Wildcards marking variable parts of a string; they are helpful when looking for word variations and different spellings.

The asterisk (*) is considered as placeholder for none, one or more characters; the question mark (?) is considered as placeholder for exactly one character.

Place an escape character (\) before any symbol to disable its special meaning (e.g. a search for the string "book\*" will look for "book*" as it is written and does not consider the special meaning of the asterisk character).

Sample query: sample*
Delivered records: 1, 2 (would also find "sampletown", "samplevillage" or just "sample")

Sample query: ?2345
Delivered records: 1, 2 (but would not find "012345", since only one character is allowed being there).

Comparison operators: = == < > <= >= <> ~ !~ ~~

Within a search query you may address a specific record field being searched for a given string or numerical value.

Available operators:
 
= wildcard match (wildcard symbols allowed) == exact match (disabled wildcard search, "as is")
< less than > greater than
<= less or equal than >= greater or equal than
<> or != not equal ~ contains text (default operator)
!~ does not contain text ~~ whole word match

Sample query: age <= 12
Delivered records: 2 (looks exactly at the field "age" and disregards other fields)

Technical note: When just entering a string, MailingStar converts it into <searchable field> ~ <search string>. In case of using "whole word" match, the search string is converted into <searchable field> ~~ <search string>.

Priority of used operators:

When processing a search request, MailingStar first handles all parentheses, then comparisons and finally any boolean operator found (in this priority: NOT, AND, OR).

Search options at "Advanced search" screen:

By clicking at the "Search" link in the upper left corner of the screen you will come to the advanced search area for the concerned active table. Beside of a standard search mask, also the following options are available:

Case-sensitive: Mark this button to handle search operations case-sensitive (CAPITAL and lowercase chars are differed).

Whole words: Mark this button to search for entire words only (recognizes space characters).

Match method: Select whether all arguments must be found (AND) or just one is sufficient to list a record (OR).

Sort by / then sort by: Define sorting of search results over two levels.
 

MailingStar plus' application...

MailingStar plus provides powerful features to read in address lists and spider websites for e-mail addresses.

However using such imported e-mail addresses (e.g. for advertising purposes without permission) is a controversial subject and some governments and companies have strict rules about this kind of business.

SunnyScript is not liable or responsible how MailingStar plus is used. This software is not intended to hurt existing laws that may apply to you. You take over all legal risks and responsibilities, if you bypass rules which are applicable at your location.
 


 
Customer services

Depending upon your license type, this software package includes various support services. Please refer to the license document or visit our website for more information about available services.

Before you contact our customer service department, please read this manual first. In most cases you find the answer here. However if you still experience problems, we will be more than happy to help you...

For all support inquiries, please contact support@sunnyscript.com and provide the following information:

* The license number of the concerned product.
* A close description of the problem or question you have (no file attachments, please).
* For technical inquiries: Used server environment, URL of admin panel & admin password.
 

Now we wish you a great time with our software products :-)

 
© SunnyScript - A subsidiary of Star Enterprise. Visit the SunnyScript website.
Please read our terms of business located at... http://www.sunnyscript.com/terms.htm