⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainform.frm

📁 中日邮件短信网关
💻 FRM
📖 第 1 页 / 共 4 页
字号:
        If Status = smtpSending Then
            Dim n As Double
            n = (CDbl(Count) / CDbl(Size)) * 100
            
            If n > 100 Then n = 100
            ' Progress.Value = Int(n)
            
        ElseIf Status = smtpOk Then
            'Progress.Value = 0
        End If
    End If
    
    
    If Status = smtpBad And BadStatusMessage = "" Then
        BadStatusMessage = Reply
    End If
    
End Sub
' _________________________________________________________________________________
'|
'|
'|                                   帐务交换进程ok2005-11-24
'|
'|
'|_________________________________________________________________________________
'
Private Sub Account_In()
On Error GoTo OnError
Dim FtpPath As String
Dim TXTname As String
Dim Txtstr As String

Dim SmartPit As String
Dim Account As String
Dim Amount As String
Dim Adddate As String
Dim Retxt As String
Retxt = ""
FtpPath = Trim(ReadString("commom set", "ftppath", 40))
DataBackup = Trim(ReadString("commom set", "DataBackup", 40))
Dim fso As New FileSystemObject, fil As File

'寻找ftp目录下面的以jpcn开头的文本文件,根据帐号进行充值
Filelist.Path = FtpPath
Filelist.Refresh
Filelist.Pattern = "recharge*.txt"
If Filelist.ListCount <> 0 Then

    For i = 1 To Filelist.ListCount
        TXTname = Filelist.List(i - 1)
        
        TXTname = FtpPath & "\" & TXTname
        Open TXTname For Input As #1
        
        Do While Not EOF(1)
        '这里有可能需要加入行判断函数,根据日本方面提供的文件格式有关
        
        Line Input #1, Txtstr              '取文件的每一行
             SmartPit = Mid(Txtstr, 1, (InStr(1, Txtstr, ",") - 1))
               Txtstr = Mid(Txtstr, (InStr(1, Txtstr, ",") + 1))
             Account = Mid(Txtstr, 1, (InStr(1, Txtstr, ",") - 1))
               Txtstr = Mid(Txtstr, (InStr(1, Txtstr, ",") + 1))
             Amount = Mid(Txtstr, 1, (InStr(1, Txtstr, ",") - 1))
             Adddate = Mid(Txtstr, (InStr(1, Txtstr, ",") + 1))
           
             sql = "select * from Account where Account_id like '" & Account & "' order by id desc "
             adoPrimaryRS.Open sql, db, adOpenStatic, adLockOptimistic
            If adoPrimaryRS.RecordCount > 0 Then
            '如果账户存在,则进行充值
                 adoPrimaryRS.Fields("Amount").Value = adoPrimaryRS.Fields("Amount").Value + Val(Amount)
                 
                 adoPrimaryRS.Fields("logins").Value = adoPrimaryRS.Fields("logins").Value + 1
                 
                
                sql = "select * from Mailout"
                RS.Open sql, db, adOpenStatic, adLockOptimistic
                RS.AddNew
                RS.Fields("mailto").Value = adoPrimaryRS.Fields("Account_id").Value       '目标地址
                RS.Fields("mailfrom").Value = "sms@jptocn.net" '发信地址
                RS.Fields("subject").Value = ""
                RS.Fields("mailtext").Value = "你的帐户已经充值,请发送CZ到sms@jptocn.net查询你的帐户金额"
                RS.Fields("actlabel").Value = "0"
                RS.Fields("addtime").Value = str(Now())
                RS.Update
                RS.Close
                
                adoPrimaryRS.Update
                adoPrimaryRS.Close
                 
            '充值结束,将结果写入返回文件"result"+"yyyymmddhhmmss"的文本文件

                 Z = FtpPath & "\" & "result" & Mid(Filelist.List(i - 1), 9)
                 Open Z For Append As #2
                 Print #2, "0," & SmartPit & "," & Account & "," & Amount & "," & Adddate
                 Close #2
             
           Else
             '账户不存在,返回结果文件"result"+"yyyymmddhhmmss"的文本文件
                 Z = FtpPath & "\" & "result" & Mid(Filelist.List(i - 1), 9)
                 Open Z For Append As #2
                Print #2, "0," & SmartPit & "," & Account & "," & Amount & "," & Adddate & ";"
                Close #2
             
                
               adoPrimaryRS.Close
          End If
        Loop
        Close #1
        
       '不管充值结果如何,都要把用来充值的文件转移到其他目录下面
    Set fil = fso.GetFile(FtpPath & "\" & Filelist.List(i - 1))
    fil.Move (DataBackup & "\" & Filelist.List(i - 1))
    
 
    
   Next

End If

OnError:
   If BadStatusMessage <> "" Then
      StatusBar.Panels(1).Text = "ERROR:帐务交换错误 "
      Label5.Caption = BadStatusMessage
       Z = App.Path & "\web\errorlog.txt"
       Open Z For Append As #2
       Print #2, "帐务交换错误:" & Now() & BadStatusMessage
        Close #2
       BadStatusMessage = ""
   Resume Next
    End If


End Sub

' _________________________________________________________________________________
'|
'|
'|                                  开户进程及用户信息处理
'|
'|设计:周大伟
'|_________________________________________________________________________________
'
'根据MAIL进行开户,在ftp目录下面建立以cnjp开头的文本文件

Private Sub User_line()

'申请开通邮箱:sms@jptocn.net

On Error GoTo OnError

Dim Retxt As String
Retxt = ""

Dim FtpPath As String
Dim TXTname As String
Dim Txtstr As String

FtpPath = Trim(ReadString("commom set", "ftppath", 40))

Dim Ucodes As String
Dim Upassw As String
Pop1.Messages.Clear
Pop1.Timeout = 10000
Pop1.Login Euserserver, Eusername, Euserpass

If Pop1.Count = 0 Then      '如果邮件服务器上没有邮件,则退出进程,等待下一次触发
   Pop1.Logout
Else                        '如果邮件服务器上有邮件,则收取邮件并写入邮件队列
   Pop1.Get
   StatusBar.Panels(1).Text = "待收邮件:" & Pop1.Count
    Dim Msg As Message
    Dim n As Long
    Dim lvi As ListItem
  
   For n = 1 To Pop1.Messages.Count
        Set Msg = Pop1.Messages.Item(n)
        
       '开户。首先判断该email地址在帐户表内是否存在,邮件内容是否为13位数字,然后判断SmartPit是否存在
       
       
        sql = "select * from Account where Account_id like '" & Trim(FromAddress(Msg.From)) & "' order by id desc "
        adoPrimaryRS.Open sql, db, adOpenStatic, adLockOptimistic
        
        
        
        If adoPrimaryRS.RecordCount > 0 Then
          
              Text5.Text = Trim(Msg.Text)
              Text5.Text = Trim(Text5.Text)
              Text5.Text = quan2ban(Text5.Text)
              Text5.Text = Trim(Text5.Text)
              Debug.Print Text5.Text
               If Left(Text5.Text, 2) = "cz" Or Left(Text5.Text, 2) = "CZ" Or Left(Text5.Text, 2) = "CZ" Or Left(Text5.Text, 2) = "cz" Then
               
              
                '查询余额
               
                sql = "select * from Mailout"
                RS.Open sql, db, adOpenStatic, adLockOptimistic
                RS.AddNew
                RS.Fields("mailto").Value = Trim(FromAddress(Msg.From))       '目标地址
                RS.Fields("mailfrom").Value = "sms@jptocn.net" '发信地址
                RS.Fields("subject").Value = ""
                RS.Fields("mailtext").Value = "你的帐户余额为:" & adoPrimaryRS.Fields("Amount").Value                         '信件内容
                RS.Fields("actlabel").Value = "0"
                RS.Fields("addtime").Value = str(Now())
                RS.Update
                RS.Close
            
              '其他数字和文本不予判断,直接回馈邮件重复信息给用户。
            Else
                sql = "select * from Mailout"
                RS.Open sql, db, adOpenStatic, adLockOptimistic
                RS.AddNew
                RS.Fields("mailto").Value = Trim(FromAddress(Msg.From))       '目标地址
                RS.Fields("mailfrom").Value = "sms@jptocn.net" '发信地址
                RS.Fields("subject").Value = ""
                RS.Fields("mailtext").Value = "亲爱的用户,你的E-mail地址无效,请致电090-1234-5678,我们会热诚为你服务。"                         '信件内容
                RS.Fields("actlabel").Value = "0"
                RS.Fields("addtime").Value = str(Now())
                RS.Update
                RS.Close
        
            End If
           
            adoPrimaryRS.Close
            
        Else
            adoPrimaryRS.Close
           '帐户不存在,判断是否为SmartPit
           Label28.Caption = Val(Label28.Caption) + 1
           Text5.Text = Trim(Msg.Text)
           Text5.Text = Trim(Text5.Text)
           Text5.Text = quan2ban(Text5.Text)
           Text5.Text = str$(Val(Text5.Text))
           Text5.Text = Trim(Text5.Text)

           If Len(Text5.Text) > 12 And Len(Text5.Text) < 14 Then
           
               '判断是13位号码,察看号码是否重复,重复则返回邮件,否则进行开户
                   sql = "select * from Account where SmartPit like '" & Text5.Text & "' order by id desc "
                   adoPrimaryRS.Open sql, db, adOpenStatic, adLockOptimistic
                       If adoPrimaryRS.RecordCount > 0 Then
                          'SmartPit重复,返回通知邮件
                           adoPrimaryRS.Close
                               sql = "select * from Mailout"
                               RS.Open sql, db, adOpenStatic, adLockOptimistic
                               RS.AddNew
                               RS.Fields("mailto").Value = Trim(FromAddress(Msg.From))       '目标地址
                               RS.Fields("mailfrom").Value = "sms@jptocn.net" '发信地址
                               RS.Fields("subject").Value = ""
                               RS.Fields("mailtext").Value = "亲爱的用户,你的SmartPit充值卡号码有重复,请致电090-1234-5678,我们会热诚为你服务"
                               RS.Fields("actlabel").Value = "0"
                               RS.Fields("addtime").Value = str(Now())
                               RS.Update
                               RS.Close
        
                      
                      Else
                      adoPrimaryRS.Close
                         '进行开户处理
                         Upassw = str(Rnd(98) * 10000)  '产生随机密码
                         sql = "select * from Account"
                         adoPrimaryRS.Open sql, db, adOpenStatic, adLockOptimistic
                         
                         adoPrimaryRS.AddNew
               
                         adoPrimaryRS.Fields("Account_id").Value = Trim(FromAddress(Msg.From))
                         adoPrimaryRS.Fields("s_date").Value = str(Now())
                         adoPrimaryRS.Fields("SmartPit").Value = Text5.Text
                         adoPrimaryRS.Fields("password").Value = Upassw
                         adoPrimaryRS.Update
               
                         adoPrimaryRS.Close
                          
                         
                         '开户成功,发送欢迎邮件
                      Label29.Caption = Val(Label29.Caption) + 1
                           
                               sql = "select * from Mailout"
                               RS.Open sql, db, adOpenStatic, adLockOptimistic
                               RS.AddNew
                               RS.Fields("mailto").Value = Trim(FromAddress(Msg.From))       '目标地址
                               RS.Fields("mailfrom").Value = "sms@jptocn.net" '发信地址
                               RS.Fields("subject").Value = ""
                               RS.Fields("mailtext").Value = "亲爱的用户,感谢你使用中文短信服务,你的申请已被接受,正在处理中,请稍候。您的帐户密码为:" & Upassw & ",欢迎访问我们的网站,了解更多服务内容。手机网站:http://3gmsn.com电脑网站:http://3gmsn.com/sms/TEL:1234-5678E -mail: info@ jptocn.net"
                               RS.Fields("actlabel").Value = "0"
                               RS.Fields("addtime").Value = str(Now())
                               RS.Update
                               RS.Close
          
                      '========创建文本文件给日本================
                        Z = FtpPath & "\" & "cnjp" & Year(Now()) & Month(Now()) & Day(Now) & Hour(Now()) & Minute(Now()) & Second(Now()) & ".txt"
                       Open Z For Append As #2
                       Print #2, Text5.Text & "," & Trim(FromAddress(Msg.From)) & "," & Year(Now()) & Month(Now()) & Day(Now) & Hour(Now()) & Minute(Now()) & Second(Now()) & ";"
                       Close #2
                      

                      
                      
                      End If
             Else
                               sql = "select * from Mailout"
                               RS.Open sql, db, adOpenStatic, adLockOptimistic
                               RS.AddNew
                               RS.Fields("mailto").Value = Trim(FromAddress(Msg.From))       '目标地址
                               RS.Fields("mailfrom").Value = "sms@jptocn.net" '发信地址
                               RS.Fields("subject").Value = ""
                               RS.Fields("mailtext").Value = "亲爱的用户,你的SmartPit充值卡号码有误,您的申请没有被接受。请查对后重新进行申请"
                               RS.Fields("actlabel").Value = "0"
                               RS.Fields("addtime").Value = str(Now())
                               RS.Update
                               RS.Close
           
           End If
                     
        
        End If
   Pop1.Delete (n)
   Next
        
 Pop1.Logout
 
End If

OnError:
   If BadStatusMessage <> "" Then
      StatusBar.Panels(1).Text = "ERROR:用户服务错误 "
      Label5.Caption = BadStatusMessage
       Z = App.Path & "\web\errorlog.txt"
       Open Z For Append As #2
       Print #2, "用户服务错误:" & Now() & BadStatusMessage
        Close #2
       BadStatusMessage = ""
       Resume Next
    End If


End Sub

Private Sub zhuanma_Click()
Frame2.Visible = True
End Sub


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -