私は、smartermail Web サービスを使用してメール アカウントを作成する VB.NET スクリプトを持っています。VB.Net については何も知りませんが、プログラミングについては少し知識があります。Visual Studio 2012 で新しいプロジェクトを作成しましたが、それを実行するには、メイン モジュールでアカウントを作成する関数を呼び出す必要があることを知っています。これは、コンソール アプリ プロジェクトです。
メイン モジュール (Module1.vb) は次のとおりです。
Module Module1
Sub Main()
End Sub
End Module*
私の機能は次のとおりです。
Sub fnc_CriaContas_Email_Lote()
同じディレクトリのcria_contas_lote.vbファイルにあります。
cria_contas_lote.vb の内容:
Sub fnc_CriaContas_Email_Lote()
Dim oPainelWS As PainelControle.svcSmarterMail
Dim sRetorno As String = ""
Try
'oPainelWS = New PainelControle.svcSmarterMail("xxx.xxx.xxx.xxx")
Catch ex As Exception
Console.WriteLine("Erro ao efetuar a conexão no servidor remoto: " & ex.Message)
Exit Sub
End Try
Dim sNomeArquivo As String = "C:\dir\emails.xlsx"
Dim sSQL As String = ""
Dim stringExcel As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & sNomeArquivo & ";Extended Properties=Excel 12.0"
Dim oExcel As New OleDbConnection(stringExcel)
Try
oExcel.Open()
Catch ex As Exception
Console.Write("O arquivo não foi localizado ou ocorreu um erro de abertura no servidor. Arquivo: " & sNomeArquivo)
Console.Write(vbCrLf & "================================================")
Console.Write(vbCrLf & ex.Message)
Console.Write(vbCrLf & "================================================")
Exit Sub
End Try
Dim oDataSet As New DataSet
Try
Dim oExcelAdapter As New OleDbDataAdapter("select * from [contas_pop$]", oExcel)
oExcelAdapter.Fill(oDataSet, "conteudo")
Catch ex As Exception
Console.Write("A tabela CONTAS_POP não foi localizada. Renomeie sua WorkSheet para CONTAS_POP")
oExcel.Close()
Exit Sub
End Try
oExcel.Close()
Dim oDataview As DataView = oDataSet.Tables("conteudo").DefaultView
Dim lTotal As Long = 0
Dim lErro As Long = 0
Dim oLinha As DataRow
Dim iTamanhoCaixa As Integer = 1024
Dim sComCopia As String
For Each oLinha In oDataSet.Tables("conteudo").Rows
If Not (Trim(oLinha("conta").ToString) = "") Then
Console.Write("Criando [" & Trim(oLinha("conta").ToString) & "]...")
sRetorno = ""
sComCopia = Trim(oLinha("enviar_copia").ToString)
iTamanhoCaixa = oLinha("tamanho_mb")
sRetorno = CriaContaPOP(Trim(oLinha("conta").ToString), Trim(oLinha("apelidos").ToString), Trim(oLinha("password").ToString), iTamanhoCaixa, oLinha("nome").ToString, sComCopia, "admin", "password")
'sRetorno = oPainelWS.CriaContaPOP(oLinha("conta"), Trim(oLinha("apelidos").ToString), oLinha("senha"), iTamanhoCaixa, "", sComCopia, "", "")
Console.WriteLine("Retorno: " & sRetorno)
'If Not (sRetorno = "OK") Then
'Exit Sub
'End If
Threading.Thread.Sleep(100)
End If
Next
End Sub
Public Function CriaContaPOP(ByVal sConta As String, ByVal sApelidos As String, ByVal sSenha As String, ByVal iTamanhoCaixaKB As String, ByVal sNome As String, ByVal sForwardTo As String, ByVal sAdminUsuario As String, ByVal sAdminSenha As String) As String
If Not (iTamanhoCaixaKB > 1) Then
Return "ERRO: Tamanho da caixa postal não pode ser inferior a 1 KB"
End If
Dim aContaNome As String() = Split(sConta, "@")
Dim sContaNome As String = ""
Dim sDominio As String = ""
sContaNome = aContaNome(0)
sDominio = aContaNome(1)
Dim oUsuarios As New svcUserAdmin
Dim oUsuarioInfo As New SettingsRequestResult
Dim oResultado As New GenericResult
oResultado = oUsuarios.AddUser2(sAdminUsuario, sAdminSenha, sContaNome, sSenha, sDominio, sNome, "", False, iTamanhoCaixaKB)
If (oResultado.Result = False) Then
Return "ERRO: Não foi possivel incluir a conta de e-mail: " & oResultado.Message
End If
If Not (sForwardTo.ToString = "") Then
Dim arrInfo(0) As String
arrInfo(0) = "forwardaddress=" & sForwardTo.ToString
oResultado = oUsuarios.SetRequestedUserSettings(sAdminUsuario, sAdminSenha, sConta, arrInfo)
If (oResultado.Result = False) Then
Return "ERRO: Não foi possivel incluir a conta de e-mail: " & oResultado.Message
End If
End If
Return "OK"
End Function