示例#1
0
def enqueue(ctx, run):
    ''' check queuable Mail, and enqueue them if `--run` is specified '''
    mails = Mail.objects.queueing_set()
    for m in mails:
        if run:
            m.enqueue()
        echo("{{m.id}}: {{m.subject}}:task {{m.task_id}}",  m=m)
示例#2
0
文件: flierses.py 项目: hdknr/flier
def verify_address(ctx, id, address):
    '''Verifies an email address.
    This action causes a confirmation email message
    to be sent to the specified address.
    (boto.ses.verify_email_address)
    '''
    source = models.Source.objects.get(id=id)
    echo(json.dumps(source.verify_address(address)))
示例#3
0
def prepare_sending(ctx, id):
    '''Send a Mail specified by id '''
    mail = Mail.objects.filter(id=id).first()
    if not mail:
        echo('No Mail for id={{ id }}', id=id)
        return
    if mail.status == 'sending':
        echo('This mail is being processed.')
        return
    mail.instance.prepare_sending()
示例#4
0
def set_status(ctx, id, status):
    '''force change status'''
    status = status.lower()
    mail = Mail.objects.filter(id=id).first()

    if not mail:
        echo(u"No mail for {{ id }}", id=id)
        return

    mail.status = status
    mail.sent_at = timezone.now() if status == Mail.STATUS_SENT else None
    mail.save()
示例#5
0
def recipients(ctx, id, address):

    mail = Mail.objects.filter(id=id).first()

    if not mail:
        echo(u"No mail for {{ id }}", id=id)
        return

    qs = address and mail.recipients.filter(to__address__in=address) \
        or mail.recipients.filter()

    echo(serializers.serialize('json', qs))
示例#6
0
def ls_mails(ctx, queueing, id):
    ''' list all Mail'''
    mails = queueing and Mail.objects.queueing_set() or Mail.objects.all()
    if id:
        mails = mails.filter(id__in=id)

    for mail in mails:
        echo(u"{{ mail.id }}\t\
{{ opt.app_label }}.{{ opt.object_name }}\t\
{{ mail.get_status_display }}\t\
{{ mail.subject }}\t\
to={{ mail.recipients.count}}\t\
active={{ mail.active_recipients.count}}\t\
task={{ mail.task_id }}\t\
{{ mail.due_at|default:'' }}",     # NOQA
             mail=mail, opt=mail.instance._meta)
示例#7
0
文件: fliersmtp.py 项目: hdknr/flier
def senders(ctx, limit, **kwargs):
    q = dict((k, v) for k, v in kwargs.items() if v)
    instances = models.SmtpSender.objects.filter(**q)[:limit]
    echo(serializers.serialize('json', instances))
示例#8
0
文件: fliersmtp.py 项目: hdknr/flier
def process_drop(ctx):
    from flier.smtp.tasks import process_drop
    echo(u"{{ msg }}", msg=process_drop())
示例#9
0
文件: fliersmtp.py 项目: hdknr/flier
def process_drop_mail(ctx, path):
    from flier.smtp.tasks import process_drop_mail
    echo(u"{{ msg }}", msg=process_drop_mail(path))
示例#10
0
文件: fliercmd.py 项目: hdknr/flier
def validate_email(ctx, addrs):
    for a in addrs:
        echo(u"{{check.0}} : {{check.1}}",
             check=validators.validate_email.check(a))
示例#11
0
文件: fliercmd.py 项目: hdknr/flier
def recipients(ctx, limit, **kwargs):
    q = dict((k, v) for k, v in kwargs.items() if v)
    instances = models.Recipient.objects.filter(**q)[:limit]
    echo(serializers.serialize('json', instances))
示例#12
0
文件: flierses.py 项目: hdknr/flier
def service_addresses(ctx, id):
    '''Fetch a list of the email addresses that have been verified
    (boto.ses.list_verified_email_addresses)
    '''
    service = models.Service.objects.get(id=id)
    echo(json.dumps(service.list_verified_email_addresses()))