YouTransfer/YouTransfer

View on GitHub
src/views/pages/settings.email.html

Summary

Maintainability
Test Coverage
{% extends "settings.html" %}

{% block tabcontent %}
<div role="tabpanel" class="tab-pane active" id="email">
    <h1>Email</h1>

    {%if isPostback %}
        {%if success %}
        <div class="alert alert-success alert-dismissible fade in" role="alert">
            <button type="button" class="close hidden" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
            <strong>Success!</strong> Your changes have been saved.
        </div>
        {% else %}
        <div class="alert alert-danger alert-dismissible fade in" role="alert">
            <button type="button" class="close hidden" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
            <strong>Error!</strong> Your changes could not be saved.
        </div>
        {% endif %}
    {% endif %}

    <form class="form-horizontal" method="post" data-xhrform data-xhrform-target="tab-content" data-xhrform-replace="true" data-select-content>

        <h3>General</h3>

        <div class="form-group">
            <label for="" class="col-sm-3 control-label">Transport Mechanism</label>
            <div class="col-sm-6">
                <select class="form-control" name="settings[email][transporter]" data-select>
                    <option value="direct" {{ "selected" if email.transporter == 'direct' }}>Direct transport to MX</option>
                    <option value="smtp" {{ "selected" if email.transporter == 'smtp' }}>SMTP</option>
                    <option value="sendmail" {{ "selected" if email.transporter == 'sendmail' }}>Sendmail</option>
                    <option value="ses" {{ "selected" if email.transporter == 'ses' }}>Amazon SES</option>
                </select>
            </div>
            <div class="col-sm-3"></div>
        </div>

        <div class="form-group">
            <label for="sender" class="col-sm-3 control-label">Sender</label>
            <div class="col-sm-6">
                <input type="text" class="form-control" name="settings[email][sender]" id="sender" value="{{ email.sender }}">
            </div>
            <div class="col-sm-3"></div>
        </div>

        <div class="form-group">
            <label for="subject" class="col-sm-3 control-label">Subject</label>
            <div class="col-sm-6">
                <input type="text" class="form-control" name="settings[email][subject]" id="subject" value="{{ email.subject }}">
            </div>
            <div class="col-sm-3"></div>
        </div>

        <div class="form-group">
            <div class="col-sm-offset-3 col-sm-9">
                <div class="checkbox">
                    <label for="sendCopy">
                        <input type="checkbox" name="settings[email][sendCopy]" id="sendCopy" {{ "checked" if email.sendCopy }} value="true">
                        Send copy to sender
                    </label>
                </div>
            </div>
        </div>

        <div id="smtp" role="select-section" class="select-section {{ "active" if email.transporter == 'smtp' }}" data-select-content>
            <h3>SMTP</h3>

            <div class="form-group">
                <label class="col-sm-3 control-label">Service</label>
                <div class="col-sm-6">
                    <select class="form-control" name="settings[email][service]" data-select>
                        <option>Select provider</option>
                        <option value="1und1" {{ "selected" if email.service == '1und1' }}>1und1</option>
                        <option value="AOL" {{ "selected" if email.service == 'AOL' }}>AOL</option>
                        <option value="DebugMail.io" {{ "selected" if email.service == 'DebugMail.io' }}>DebugMail.io</option>
                        <option value="DynectEmail" {{ "selected" if email.service == 'DynectEmail' }}>DynectEmail</option>
                        <option value="FastMail" {{ "selected" if email.service == 'FastMail' }}>FastMail</option>
                        <option value="GandiMail" {{ "selected" if email.service == 'GandiMail' }}>GandiMail</option>
                        <option value="Gmail" {{ "selected" if email.service == 'Gmail' }}>Gmail</option>
                        <option value="Godaddy" {{ "selected" if email.service == 'Godaddy' }}>Godaddy</option>
                        <option value="GodaddyAsia" {{ "selected" if email.service == 'GodaddyAsia' }}>GodaddyAsia</option>
                        <option value="GodaddyEurope" {{ "selected" if email.service == 'GodaddyEurope' }}>GodaddyEurope</option>
                        <option value="hot.ee" {{ "selected" if email.service == 'hot.ee' }}>hot.ee</option>
                        <option value="Hotmail" {{ "selected" if email.service == 'Hotmail' }}>Hotmail</option>
                        <option value="iCloud" {{ "selected" if email.service == 'iCloud' }}>iCloud</option>
                        <option value="mail.ee" {{ "selected" if email.service == 'mail.ee' }}>mail.ee</option>
                        <option value="Mail.ru" {{ "selected" if email.service == 'Mail.ru' }}>Mail.ru</option>
                        <option value="Mailgun" {{ "selected" if email.service == 'Mailgun' }}>Mailgun</option>
                        <option value="Mailjet" {{ "selected" if email.service == 'Mailjet' }}>Mailjet</option>
                        <option value="Mandrill" {{ "selected" if email.service == 'Mandrill' }}>Mandrill</option>
                        <option value="Naver" {{ "selected" if email.service == 'Naver' }}>Naver</option>
                        <option value="Postmark" {{ "selected" if email.service == 'Postmark' }}>Postmark</option>
                        <option value="QQ" {{ "selected" if email.service == 'QQ' }}>QQ</option>
                        <option value="QQex" {{ "selected" if email.service == 'QQex' }}>QQex</option>
                        <option value="SendCloud" {{ "selected" if email.service == 'SendCloud' }}>SendCloud</option>
                        <option value="SendGrid" {{ "selected" if email.service == 'SendGrid' }}>SendGrid</option>
                        <option value="SES" {{ "selected" if email.service == 'SES' }}>SES</option>
                        <option value="Sparkpost" {{ "selected" if email.service == 'Sparkpost' }}>Sparkpost</option>
                        <option value="Yahoo" {{ "selected" if email.service == 'Yahoo' }}>Yahoo</option>
                        <option value="Yandex" {{ "selected" if email.service == 'Yandex' }}>Yandex</option>
                        <option value="Zoho" {{ "selected" if email.service == 'Zoho' }}>Zoho</option>/option>
                        <option value="other" {{ "selected" if email.service == 'other' }}>other</option>/option>
                    </select>
                </div>
                <div class="col-sm-3"></div>
            </div>

            <div id="other" role="select-section" class="select-section {{ "active" if email.service == 'other' }}">
                <div class="form-group">
                    <label for="host" class="col-sm-3 control-label">Host</label>
                    <div class="col-sm-6">
                        <input type="text" class="form-control" name="settings[email][host]" id="host" value="{{ email.host }}">
                    </div>
                    <div class="col-sm-3"></div>
                </div>
                <div class="form-group">
                    <label for="port" class="col-sm-3 control-label">Port</label>
                    <div class="col-sm-6">
                        <input type="text" class="form-control" name="settings[email][port]" id="port" value="{{ email.port }}">
                    </div>
                    <div class="col-sm-3"></div>
                </div>
                <div class="form-group">
                    <div class="col-sm-offset-3 col-sm-9">
                        <div class="checkbox">
                            <label for="secure">
                                <input type="checkbox" value="true" name="settings[email][secure]" id="secure" {{ "checked='checked'" if email.secure }}>
                                Secure (SSL)
                            </label>
                        </div>
                    </div>
                </div>
            </div>

            <div class="form-group">
                <label for="username" class="col-sm-3 control-label">Username</label>
                <div class="col-sm-6">
                    <input type="text" class="form-control" name="settings[email][username]" id="username" value="{{ email.username }}">
                </div>
                <div class="col-sm-3"></div>
            </div>
            <div class="form-group">
                <label for="password" class="col-sm-3 control-label">Password</label>
                <div class="col-sm-6">
                    <input type="password" class="form-control" name="settings[email][password]" id="password" value="{{ email.password }}">
                </div>
                <div class="col-sm-3"></div>
            </div>
        </div>

        <div id="sendmail" role="select-section" class="select-section {{ "active" if email.transporter == 'sendmail' }}">
            <h3>Sendmail</h3>

            <div class="form-group">
                <label for="sendmailPath" class="col-sm-3 control-label">Path</label>
                <div class="col-sm-6">
                    <input type="text" class="form-control" name="settings[email][sendmailPath]" id="sendmailPath" value="{{ email.sendmailPath }}">
                </div>
                <div class="col-sm-3"></div>
            </div>
        </div>

        <div id="ses" role="select-section" class="select-section {{ "active" if email.transporter == 'ses' }}">
            <h3>Amazon SES</h3>

            <div class="form-group">
                <label for="AccessKeyId" class="col-sm-3 control-label">Access Key ID</label>
                <div class="col-sm-6">
                    <input type="text" class="form-control" name="settings[email][accessKeyId]" id="AccessKeyId" value="{{ email.accessKeyId }}">
                </div>
                <div class="col-sm-3"></div>
            </div>
            <div class="form-group">
                <label for="SecretAccessKey" class="col-sm-3 control-label">Secret Access Key</label>
                <div class="col-sm-6">
                    <input type="password" class="form-control" name="settings[email][secretAccessKey]" id="SecretAccessKey" value="{{ email.secretAccessKey }}">
                </div>
                <div class="col-sm-3"></div>
            </div>
            <div class="form-group">
                <label for="region" class="col-sm-3 control-label">Region</label>
                <div class="col-sm-6">
                    <input type="text" class="form-control" name="settings[email][region]" id="region" value="{{ email.region }}">
                </div>
                <div class="col-sm-3"></div>
            </div>
            <div class="form-group">
                <label for="rateLimit" class="col-sm-3 control-label">Rate limit</label>
                <div class="col-sm-6">
                    <input type="text" class="form-control" name="settings[email][rateLimit]" id="rateLimit" value="{{ email.rateLimit }}">
                </div>
                <div class="col-sm-3"></div>
            </div>
        </div>

        <div id="direct" role="select-section" class="select-section {{ "active" if email.transporter == 'direct' }}">

            <h3>Direct transport to MX</h3>

            <div class="alert alert-warning">
                Please note that when choosing direct transport from your local server to the MX records of the recipient it is likely that the message will be rejected or redirected to the end-user SPAM folder unless you implement proper <a href="https://en.wikipedia.org/wiki/Anti-spam_techniques">anti-spam measures</a> to safeguard your domain reputation.
            </div>
        </div>

        <div class="form-group">
            <div class="col-sm-offset-3 col-sm-6 text-right">
                <button type="submit" class="btn btn-primary">Save</button>
            </div>
            <div class="col-sm-3"></div>
        </div>

    </form>
</div>
{% endblock %}