示例#1
0
def run_tests(mx_obj):
    try:
        end_results, rbl_result = run_diag(mx_obj.mx_url, mx_obj.ipaddr)
        p_status, created = MailserverStatus.objects.get_or_create(mailserver=mx)
        if created == False:
            p_status.relay = end_results['relay_result']
            p_status.backupmx = end_results['redund_result']
            p_status.backupmxport = end_results['backupmxport_result']
            p_status.score = get_diag_score(end_results['diag_count'])
            if end_results['revdns_result'] is not "no":
                p_status.revdns = "yes"
            else:
                p_status.revdns = "no"
            p_status.save()
    except:
        end_results = None
示例#2
0
文件: views.py 项目: kelvinn/helomx
def diag_html(request):
    import timeit
    import smtplib
    import dns.resolver
    from datetime import datetime
    from monitor.models import FreeCheckHistory
    from mxhelpers import check_relay, check_rbl, check_rtt, get_diag_score
    
    rbl_result=None
    ipaddr = None
    diag_score=None

    if request.method == 'GET':
        mx_domain = request.GET.get('mx')
        mx_tld = request.GET.get('tld')
        if mx_domain:

            raw_ip = dns.resolver.query(mx_domain)

            ipaddr = raw_ip[0].to_text()

            end_results, rbl_result = run_diag(mx_tld, ipaddr)

            # Lastly, calculate the score
            diag_score = get_diag_score(end_results['diag_count'])

            try:
                checker_ip = request.META.get("REMOTE_ADDR", "")
                # this is for the counter on the front page
                b = FreeCheckHistory(ipaddr=ipaddr, checker=checker_ip)
                b.save()
            except:
                pass

    return render_to_response("hosts/diag_result.html", {
                        'rbl_result': rbl_result,
                        'ipaddr': ipaddr,
                        'redund_result': end_results['redund_result'],
                        'relay_result': end_results['relay_result'],
                        'avail_result': end_results['avail_result'],
                        'revdns_result': end_results['revdns_result'],
                        'diag_score': diag_score,

                        },
                        context_instance=RequestContext(request))
示例#3
0
文件: views.py 项目: kelvinn/helomx
def diag_html(request):
    import timeit
    import smtplib
    import dns.resolver
    from datetime import datetime
    from monitor.models import FreeCheckHistory
    from mxhelpers import check_relay, check_rbl, check_rtt, get_diag_score

    rbl_result = None
    ipaddr = None
    diag_score = None

    if request.method == 'GET':
        mx_domain = request.GET.get('mx')
        mx_tld = request.GET.get('tld')
        if mx_domain:

            raw_ip = dns.resolver.query(mx_domain)

            ipaddr = raw_ip[0].to_text()

            end_results, rbl_result = run_diag(mx_tld, ipaddr)

            # Lastly, calculate the score
            diag_score = get_diag_score(end_results['diag_count'])

            try:
                checker_ip = request.META.get("REMOTE_ADDR", "")
                # this is for the counter on the front page
                b = FreeCheckHistory(ipaddr=ipaddr, checker=checker_ip)
                b.save()
            except:
                pass

    return render_to_response("hosts/diag_result.html", {
        'rbl_result': rbl_result,
        'ipaddr': ipaddr,
        'redund_result': end_results['redund_result'],
        'relay_result': end_results['relay_result'],
        'avail_result': end_results['avail_result'],
        'revdns_result': end_results['revdns_result'],
        'diag_score': diag_score,
    },
                              context_instance=RequestContext(request))