banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành Windows Giải đáp hộ mình về lập trình Winsock với!!!  XML
  [Programming]   Giải đáp hộ mình về lập trình Winsock với!!! 07/04/2008 10:46:43 (+0700) | #1 | 123743
[Avatar]
manhtuan_hvan
Member

[Minus]    0    [Plus]
Joined: 10/03/2008 22:25:34
Messages: 12
Offline
[Profile] [PM]
Mình đang học lập trình Winsock bằng VB6 dùng để gửi một file Log vào hòm thư của mình.
Mình tìm hiểu là gửi thư thì dùng giao thức SMTP còn nhận thư thì dùng giao thức POP3.
Vậy trong VB6, dùng điều khiển Winsock thì đoạn mã để gửi thư đến hòm thư của mình là manhtuan_hvan@yahoo.com.vn là gì vậy?
Mong diễn đàn giải đáp hộ mình với!Cảm ơn diễn đàn trước nhé!
[Up] [Print Copy]
  [Question]   Re: Giải đáp hộ mình về lập trình Winsock với!!! 07/04/2008 22:23:05 (+0700) | #2 | 123797
[Avatar]
Z0rr0
Q+WRtaW5pc3RyYXRvc+g

Joined: 14/08/2002 12:52:01
Messages: 1323
Location: Underground
Offline
[Profile] [PM] [WWW] [Yahoo!]
Bồ cần hiểu các lệnh trong giao thức SMTP/POP3, sau đó dùng winsock là phương tiện để gửi/nhận các lệnh này.
Tham khảo thêm:
- http://computer-programming-tutorials.suite101.com/article.cfm/sending_email_with_smtp_auth
- http://www.developerfusion.co.uk/show/2453/
Hibernating
[Up] [Print Copy]
  [Question]   Re: Giải đáp hộ mình về lập trình Winsock với!!! 08/04/2008 09:46:26 (+0700) | #3 | 123963
[Avatar]
manhtuan_hvan
Member

[Minus]    0    [Plus]
Joined: 10/03/2008 22:25:34
Messages: 12
Offline
[Profile] [PM]
Cảm ơn Z0rr0 nhiều nhé!!
[Up] [Print Copy]
  [Question]   Re: Giải đáp hộ mình về lập trình Winsock với!!! 13/04/2008 00:17:01 (+0700) | #4 | 124806
[Avatar]
manhtuan_hvan
Member

[Minus]    0    [Plus]
Joined: 10/03/2008 22:25:34
Messages: 12
Offline
[Profile] [PM]
Mình muốn hỏi thêm một vấn đề là bây giờ mình lập trình winsock (bằng VB6) để gửi log đến hòm thư của mình thì khi mình mở hòm thư của mình trên SMTP server chẳng hạn là www.yahoo.com thì có thấy được nội dung của file log kia không?Và mình phải SMTP server của mình là www.yahoo.com có được không? Vì mình đang test thử nhưng mãi không nhận được nội dung file log. Mong diễn đàn giải đáp hộ mình!!!
[Up] [Print Copy]
  [Question]   Re: Giải đáp hộ mình về lập trình Winsock với!!! 13/04/2008 02:28:30 (+0700) | #5 | 124826
mfeng
Researcher

Joined: 29/10/2004 15:16:29
Messages: 243
Offline
[Profile] [PM]
Để gửi file log (hay bất cứ file gì) kèm theo mail, bạn cần nắm vững giao thức SMTP và định dạng file mail (MIME format), cách mã hóa BASE64 trong MIME...

Mail server của yahoo.com có thể tìm được khi truy cập bản tin MX của domain yahoo.com. Bạn có thể dùng lệnh nslookup với tùy chọn set type=MX để tìm SMTP Server của Yahoo. Nếu muốn tự động hóa khâu tìm mail server, bạn cần lập trình truy xuất DNS service.



[Up] [Print Copy]
  [Question]   Re: Giải đáp hộ mình về lập trình Winsock với!!! 13/04/2008 03:09:25 (+0700) | #6 | 124831
[Avatar]
vivashadow
Member

[Minus]    0    [Plus]
Joined: 08/01/2008 12:36:49
Messages: 95
Offline
[Profile] [PM]
Bạn đã đọc kĩ mấy thứ Z0rr0 đưa cho chưa sao vẫn mù mờ quá vậy.
Bạn muốn gởi log hay bất cứ cái gì thì cũng chẳng khác gì gởi một mail đến hộp thư yahoo của bạn cả. Bạn đã giải quyết được câu hỏi trước chưa vậy, câu hỏithứ 2 với câu trước là 1.
Nếu vẫn mù mờ thì đọc lại 1 lần nữa và tập trung vào giao thức gởi thư smtp đi, yêu cầu gởi log của bạn chỉ là gởi thôi, hay khoan đọc pop mà rối.
[Up] [Print Copy]
  [Question]   Re: Giải đáp hộ mình về lập trình Winsock với!!! 22/04/2008 10:27:48 (+0700) | #7 | 126758
[Avatar]
manhtuan_hvan
Member

[Minus]    0    [Plus]
Joined: 10/03/2008 22:25:34
Messages: 12
Offline
[Profile] [PM]
Mình đã nghiên cứu về SMTP và dựa vào phần hứong dẫn của ZOrrO mình đã viết code như sau:

' In general Declarations
Dim received As Boolean

Private Sub cmdExit_Click()
End 'ket thuc
End Sub

Private Sub Command1_Click()
sFrom$ = "tdt_20052002@yahoo.com"
sTo$ = "manhtuan_hvan@yahoo.com.vn"
sSubject$ = "Hello Tuan"
sMessage$ = "This is a simple Message"

'need SMTP server to route message thru, 25 (SMTP)
Winsock1.Connect "mx1.mail.yahoo.com", 25

Do While Winsock1.State <> sckConnected: DoEvents: Loop

sendMsg "HELO " & "Peaches"
sendMsg "MAIL FROM: <" & sFrom & ">"
sendMsg "RCPT TO: <" & sTo & ">"
sendMsg "DATA"


m$ = m$ + "From: <" + sFrom + ">" + vbCrLf
m$ = m$ + "To: <" + sTo + ">" + vbCrLf
m$ = m$ + "Subject: " + sSubject$ + vbCrLf
m$ = m$ + "Date: " + Format$(Now, "h:mm:ss") + vbCrLf
m$ = m$ + "MIME-Version: 1.0" + vbCrLf
m$ = m$ + "Content-Type: text/plain; charset=us-ascii" + vbCrLf + vbCrLf

m$ = m$ + sMessage$ + vbCrLf + vbCrLf + "." + vbCrLf

sendMsg m$ + "QUIT"

Winsock1.Close
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
received = True
End Sub

Sub sendMsg(m$)
Winsock1.SendData m$ + vbCrLf
received = False
Do Until received
DoEvents
Loop
End Sub

Mình test nhưng không ra. Mình hoi thêm là mình dùng SMTP server của yahoo là mx1.mail.yahoo.com có đúng không?
Mong các bạn hãy test và tìm hộ mình lỗi sai hộ mình nhé!!!Bởi vì mình đang viết đề tài về vấn đề này nhưng nghĩ ko ra mà săp phải nộp rồi!!!Cảm ơn các bạn trước nhé!!!
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|