1. Tải bản cài đặt AutoIT mới nhất

    Chào Khách. Nếu bạn mới tham gia và chưa cài đặt AutoIT.
    Vui lòng vào topic trên để tải bản AutoIT mới nhất nhé
    Dismiss Notice
  2. Quy định và nội quy

    Chào Khách. Vui lòng đọc kỹ nội quy và quy định của diễn đàn
    Để tránh bị ban một cách đáng tiếc nhé!
    Dismiss Notice
  3. Hướng dẫn chèn mã AutoIT trong diễn đàn

    Chào Khách. Vui lòng xem qua bài viết này
    Để biết cách chèn mã AutoIT trong diễn đàn bạn nhé :)
    Dismiss Notice

Hỏi đáp [Solved] Giúp đỡ e về gửi Gmail bằng SMTP

Thảo luận trong 'Thảo luận chung - Hỏi đáp' bắt đầu bởi Hoàng Tuân, 10/12/17.

Trạng thái chủ đề:
Không mở trả lời sau này.
  1. Hoàng Tuân

    Hoàng Tuân Thành viên
    • 8/11

    Tham gia ngày:
    9/1/16
    Bài viết:
    82
    Đã được thích:
    11
    E lấy code smtp trên google mà bị lỗi, bác nào có code mới ko ạ
     
    Chỉnh sửa cuối: 11/12/17
  2. thanhdat8647

    thanhdat8647 Thành viên
    • 8/11

    Tham gia ngày:
    28/7/17
    Bài viết:
    35
    Đã được thích:
    4
    Bác thử tìm trên youtube xem ! Tui nhớ là có á !
    Tìm với từ khóa "autoit gmail"
     
  3. Hoàng Tuân

    Hoàng Tuân Thành viên
    • 8/11

    Tham gia ngày:
    9/1/16
    Bài viết:
    82
    Đã được thích:
    11
    ko đc bác ơi :(
     
  4. thanhdat8647

    thanhdat8647 Thành viên
    • 8/11

    Tham gia ngày:
    28/7/17
    Bài viết:
    35
    Đã được thích:
    4

    nè bác !
     
  5. Hoàng Tuân

    Hoàng Tuân Thành viên
    • 8/11

    Tham gia ngày:
    9/1/16
    Bài viết:
    82
    Đã được thích:
    11
    Mình ib admin youtube đó r, admin kêu là ko sử dụng đc nữa :(
     
  6. thanhdat8647

    thanhdat8647 Thành viên
    • 8/11

    Tham gia ngày:
    28/7/17
    Bài viết:
    35
    Đã được thích:
    4
    mình là admin bên đó
    mình mới test lại thấy còn xài đc nhé !
    bác vào trang này https://security.google.com/settings/security/apppasswords
    đăng nhập như bt rồi ở chỗ "Chọn ứng dụng và thiết bị bạn muốn tạo mật khẩu ứng dụng."
    ở phần "tạo ứng dụng" bạn chọn thư
    rồi phần "chọn thiết bị bạn chọn "window"
    xong nó xuất ra mật khẩu
    bạn copy nó bỏ vào biến $sPassword trong code
    rồi tinh chỉnh như trong video
    xong
     
  7. longtu

    longtu Thành viên
    • 18/23

    Tham gia ngày:
    9/8/17
    Bài viết:
    67
    Đã được thích:
    37
    code chuẩn mình đang xài chạy bao ngon heeehe

    Mã (AutoIt):
    #include <file.au3>
    Global $oMyRet[2]
    Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")

    $SmtpServer = "smtp.gmail.com" ; address for the smtp-server to use - REQUIRED
    $FromName = "" ; name from who the email was sent
    $FromAddress = "[email protected]" ; address from where the mail should come
    $ToAddress = "[email protected]" ; destination address of the email - REQUIRED
    $Subject = '' ; subject from the email - can be anything you want it to be
    $Body = "" ; the messagebody from the mail - can be left blank but then you get a blank mail
    $AttachFiles = "" ; the file you want to attach- leave blank if not needed
    $CcAddress = "" ; address for cc - leave blank if not needed
    $BccAddress = "" ; address for bcc - leave blank if not needed
    $Importance = "Normal" ; Send message priority: "High", "Normal", "Low"

    $Username = "@gmail.com" ; username for the account used from where the mail gets sent - REQUIRED
    $Password = "" ; password for the account used from where the mail gets sent - REQUIRED
    $IPPort = 465 ; port used for sending the mail ; GMAIL port used for sending the mail
    $ssl = 1 ; GMAILenables/disables secure socket layer sending - put to 1 if using httpS

    $rc = _INetSmtpMailCom($SmtpServer, $FromName, $FromAddress, $ToAddress, $Subject, $Body, $AttachFiles, $CcAddress, $BccAddress, $Importance, $Username, $Password, $IPPort, $ssl)
    If @error Then
        MsgBox(0, "Error sending message", "Error code:" & @error & "  Description:" & $rc)
    EndIf


    Func _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject = "", $as_Body = "", $s_AttachFiles = "", $s_CcAddress = "", $s_BccAddress = "", $s_Importance = "Normal", $s_Username = "", $s_Password = "", $IPPort = 25, $ssl = 0)
        Local $objEmail = ObjCreate("CDO.Message")
        $objEmail.From = '"' & $s_FromName & '" <' & $s_FromAddress & '>'
        $objEmail.To = $s_ToAddress
        Local $i_Error = 0
        Local $i_Error_desciption = ""
        If $s_CcAddress <> "" Then $objEmail.Cc = $s_CcAddress
        If $s_BccAddress <> "" Then $objEmail.Bcc = $s_BccAddress
        $objEmail.Subject = $s_Subject
        If StringInStr($as_Body, "<") And StringInStr($as_Body, ">") Then
            $objEmail.HTMLBody = $as_Body
        Else
            $objEmail.Textbody = $as_Body & @CRLF
        EndIf
        If $s_AttachFiles <> "" Then
            Local $S_Files2Attach = StringSplit($s_AttachFiles, ";")
            For $x = 1 To $S_Files2Attach[0]
                $S_Files2Attach[$x] = _PathFull($S_Files2Attach[$x])
                ConsoleWrite('@@ Debug(62) : $S_Files2Attach = ' & $S_Files2Attach & @LF & '>Error code: ' & @error & @LF) ;### Debug Console
                If FileExists($S_Files2Attach[$x]) Then
                    $objEmail.AddAttachment($S_Files2Attach[$x])
                Else
                    ConsoleWrite('!> File not found to attach: ' & $S_Files2Attach[$x] & @LF)
                    SetError(1)
                    Return 0
                EndIf
            Next
        EndIf
        $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = $s_SmtpServer
        If Number($IPPort) = 0 Then $IPPort = 25
        $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = $IPPort
        ;Authenticated SMTP
        If $s_Username <> "" Then
            $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 ; HTTP = 0, HTTPS = 1
            $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = $s_Username
            $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = $s_Password
        EndIf
        If $ssl Then
            $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
        EndIf
        ;Update settings
        $objEmail.Configuration.Fields.Update
        ; Set Email Importance
        Switch $s_Importance
            Case "High"
                $objEmail.Fields.Item("urn:schemas:mailheader:Importance") = "High"
            Case "Normal"
                $objEmail.Fields.Item("urn:schemas:mailheader:Importance") = "Normal"
            Case "Low"
                $objEmail.Fields.Item("urn:schemas:mailheader:Importance") = "Low"
        EndSwitch
        $objEmail.Fields.Update
        ; Sent the Message
        $objEmail.Send
        If @error Then
            SetError(2)
            Return $oMyRet[1]
        EndIf
        $objEmail = ""
    EndFunc



    Func MyErrFunc()
        $HexNumber = Hex($oMyError.number, 8)
        $oMyRet[0] = $HexNumber
        $oMyRet[1] = StringStripWS($oMyError.description, 3)
        ConsoleWrite("### COM Error !  Number: " & $HexNumber & "   ScriptLine: " & $oMyError.scriptline & "   Description:" & $oMyRet[1] & @LF)
        SetError(1) ; something to check for when this function returns
        Return
    EndFunc
     
     
    VŨ Khoa and Huân Hoàng like this.
Trạng thái chủ đề:
Không mở trả lời sau này.

Chia sẻ trang này

Đang tải...