コード: 全て選択
FillMemory(buffer, 256, 0)
recv(s, buffer, 256, 0)
SetDlgItemText(hSendMail, Static_Recv, buffer)
lstrcpy(StrPtr(Recvtemp), buffer)
wsprintf(buffer, Ex"HELO %s\r\n", szServerName) 'HELOコマンドを送信
send(s, buffer, lstrlen(buffer), 0)
FillMemory(buffer, 256, 0)
recv(s, buffer, 256, 0)
SetDlgItemText(hSendMail, Static_Recv, buffer)
lstrcat(StrPtr(Recvtemp), buffer)
wsprintf(buffer, Ex"MAIL FROM : <%s>\r\n", szForm) 'MAIL FROMコマンドを送信
send(s, buffer, lstrlen(buffer), 0)
FillMemory(buffer, 256, 0)
recv(s, buffer, 256, 0)
lstrcat(StrPtr(Recvtemp), buffer)
SetDlgItemText(hSendMail, Static_Recv, buffer)
debug
wsprintf(buffer, Ex"RCPT TO : <%s>\r\n", szTo) 'RCPT TOコマンドを送信
send(s, buffer, lstrlen(buffer), 0)
FillMemory(buffer, 256, 0)
recv(s, buffer, 256, 0)
lstrcat(StrPtr(Recvtemp), buffer)
SetDlgItemText(hSendMail, Static_Recv, buffer)
lstrcpy(buffer, Ex"DATA\r\n") 'DATAコマンドを送信
send(s, buffer, lstrlen(buffer), 0)
FillMemory(buffer, 256, 0)
recv(s, buffer, 256, 0)
lstrcat(StrPtr(Recvtemp), buffer)
SetDlgItemText(hSendMail, Static_Recv, buffer)
lstrcpy(buffer, Ex"X-Mailer: Test_Mailer\r\n") 'ヘッダ部分を送信
send(s, buffer, lstrlen(buffer), 0)
wsprintf(buffer, Ex"Subject: %s \r\n", szSubject) '件名を送信
send(s, buffer, lstrlen(buffer), 0)
lstrcpy(buffer, Ex"\r\n")
send(s, buffer, lstrlen(buffer), 0)
'メール本文を送信
i=0
i2=0
Do
If (TextBuffer=13 and TextBuffer[i+1]=10) or TextBuffer=0 Then
'改行
temporary[i2]=0
lstrcat(temporary, Ex"\r\n")
'送信
send(s, temporary, lstrlen(temporary), 0)
If TextBuffer=0 Then Exit Do
i=i+2
i2=0
Continue
End If
temporary[i2]=TextBuffer
i=i+1
i2=i2+1
Loop
lstrcpy(buffer, Ex".\r\n")
send(s, buffer, lstrlen(buffer), 0)
FillMemory(buffer, 256, 0)
recv(s, buffer, 256, 0)
lstrcat(StrPtr(Recvtemp), buffer)
SetDlgItemText(hSendMail, Static_Recv, buffer)
lstrcpy(buffer, Ex"QUIT\r\n") 'QUITコマンドを送信
send(s, buffer, lstrlen(buffer), 0)
FillMemory(buffer, 256, 0)
recv(s, buffer, 256, 0)
lstrcat(StrPtr(Recvtemp), buffer)
SetDlgItemText(hSendMail, Static_Recv, buffer)
'ソケットへの接続を閉じる
shutdown(s, SD_BOTH)
closesocket(s)
'WinSockが使用したメモリを開放
WSACleanup()
SetDlgItemText(hSendMail, Static_Recv, "送信が完了しました")
SetDlgItemText(hSendMail, RecvLog, Recvtemp)