|
No error message. When I execute the program with break points it is not throwing any error. it is executing successfully. but mails are not received.
|
|
|
|
|
I notice that when you catch any error you merely exit from the subroutine. This is extremely bad practice as it means you just eat any exception that occurs rather than using the information provided to diagnose why your code is failing.
The best things in life are not things.
|
|
|
|
|
As I already said I traced the code it is not throwing any exception. The best practice is to write a logfile. I agree with you.
|
|
|
|
|
Check your CDO configuration values as described here[^]. Also in the following line:
Const cdoSendUsingPort = 2
the variable is never referenced in your code, why is it there?
The best things in life are not things.
|
|
|
|
|
this is a code written 8 yrs back by another user. As it was working we did not review it. Now what is the reason for the mails not getting delivered suddenly. till last tuesday it was working fine and suddenly it stopped working.
|
|
|
|
|
Something must have changed, but it is impossible to determine the problem without being able to access your system and run it through the debugger. So, I guess it's up to you.
The best things in life are not things.
|
|
|
|
|
Is it always (mainly) the same message to the same address ?
If your code is not throwing any errors, the most likely reason for the message not arriving is not your code.
You should test the app by adding your own address to the BCC field, and see if you receive the message.
And/or you may want to look into the following things:
1. the recipient's address has changed or has been deleted, and your app is sending the message to the old address.
2. the recipient's email program has interpreted the message as being SPAM, and is now blocking it.
3. the recipient's email operator uses a (new) SPAM blocking service, which has interpreted your messages as SPAM and is now blocking them.
4. the mail server you send messages through has changed (new server ?)
My advice is free, and you may get what you paid for.
|
|
|
|
|
It is not the same message but it is a report in the same format. and to the same address.
I just now tried by including my address in BCC but still I did not receive the mail.
The mail server has changed 2 months before. Even after changing the mail server the program was sending mails properly and suddenly 1 fine day it stopped sending mails. Subject is same to the mail and also the sender address is same. So if suppose it is identified as SPAM by the server how can we resolve this. As the program is not generating any error logically it seems to be a problem at mail server level. How to resolve this?
|
|
|
|
|
The first thing you could try is to manually create a similar message in your regular email client (same recipients including yourself, same subject, same body text, same attachments). See if that message does arrive.
Another thing you could check is the Sender address (the From field). Does this address exist ? If the manual message did arrive, was the sender address the same as the one used by your code ?
My advice is free, and you may get what you paid for.
|
|
|
|
|
Manually I am sending the similar message from my outlook account and the message is arriving.
Sender address exists.
|
|
|
|
|
We are using MS Exchange Server ver 10. Has it got something to do with authentication. If so how to set it using CDOObject?
|
|
|
|
|
One last thing to check: on the last day the message was sent successfully, or on the first day the message was no longer received, were there any Windows, MS Exchange, or MS Office updates installed on the sending server ? If so, you can try uninstalling any or all of these updates.
I am afraid that after that I am running out of ideas and I have no experience with CDO, and all similar code that I have ever written is in VB.NET.
So the only other thing I can think of is to rewrite the app in .Net so you can get better feedback on the reason why the message is not arriving. .Net can give feedback on the Send method, so you can find out what the smtp server is saying about the message.
Good luck,
Johan
My advice is free, and you may get what you paid for.
|
|
|
|
|
Even we thought the same and written a program in .NET which is working fine. Thank you for all you advices.
Regards,
Uma
|
|
|
|
|
I am working on an Access 2007 project that I inherited. I am pulling recordsets using
Dim Command as String
Command = "select storename from stores where storeid = " + CStr(selectedStoreId)
Set rs = CurrentDb.OpenRecordset(Command)
and the I populate the fields on the form using
txtStoreName.Value = rs!StoreName
I have 7 forms, and they're all very simple, and the edit mode on all of them is done this way. The question is, when the user clicks the Edit button, before I enable the fields I want to check to make sure no one else is editing the row.
How do I do this in Access 2007?
Everything makes sense in someone's mind
|
|
|
|
|
Implementing locking is probably the last resort of a bad design.
Think about it. A client locks a row, then loses network connectivity. The row is still locked, and the client that locked the row can't unlock it. Now what do you do? The rest of your clients that still do have connectivity are screwed until that row or table is unlocked.
You may want to read up on all of your options before doing something so drastic. Google for "Access database concurrency".
|
|
|
|
|
Most developers ignore this problem, last in has the power is the general rule. There are so many different scenarios that can be envisaged that to try and deal with them will very quickly have you biting you're own arse.
Make sure it is a real world problem not something thought up by a manager trying to cover all bases. I have often responded to this requirement with 'if we get a race condition then I'll deal with it otherwise let me do something productive'. Then when they insist do an estimate of the cost and performance hit!
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Here's a possible solution...
You can implement your own locking mechanism simply by having a lock table. (this way you can have an editable table that, in case the client loses connectivity, another user can go to the administrator edit screen and clear the lock, if necessary)
tblLocks: TableName , IDNum, LockedBy
(primary key: TableName,IDNum)
when the edit is about to take place, try adding a record with the table/id/username
if you get an error, that record for that table is locked. otherwise leave that entry there until they quit or save and exit. then delete the record.
The LockedBy field is not necessary, but then you can see who has it locked, if you so desire.
Just use the windows login name or if your software has a login, use that.
|
|
|
|
|
How to convert an SQL table to Access table in vb6 .
|
|
|
|
|
This question is wrong in so many ways...
Open up Access, and link or import the table using ODBC.
My advice is free, and you may get what you paid for.
|
|
|
|
|
I'm trying to get all messages using MAPI in VB.NET
(I'm using Eudora same as Outlook)
I search in Internet but all I found is Sending Email
(Acctually its not sending it only opens the Eudora and fields(subject, to, note))
or other type of MAPI I'm using AxMAPIMessages
(what I mean is in MAPI theres a field/function sample(Getmessages),
In AxMAPIMessages theres no function as shown in MAPI)
modified on Saturday, June 4, 2011 4:00 AM
|
|
|
|
|
|
Hi,
When I try the following I get an error....
crReport.DataSourceConnections(servername, database, True)
"Property access must assign to the property or use it's value"
I am trying to assign a database to my crystal report. The reason being I have a test database and a live database.
Any ideas where I am going wrong or what I should do?
|
|
|
|
|
I have no idea what you're doing, but DataSourceConnections is a read-only property that returns a collection of IConnectionInfo objects.
You cannot assign annything to that property and you definitely can't call it as if it was a method, like your code is doing.
I don't use CrystalReports, but perhaps you're looking to do something like:
crReport.DataSourceConnections.Add(...)
|
|
|
|
|
Hi!
Is there a way to use "function handles in VB 2010"?
For instance, let's suppose to define an array of sub or functions:
array1 = {sub1(), sub2(param1, param2), sub3(param3)....}
I would like them to be called in the sequence specified within array1 from another sub, let's say a "server sub"
for i = 0 to N_MAX
INVOKE_FuNCTION(array1(i))
end
Lines before were in "symbolic" language (not true VB, of course).
Is there a way to build array1 and to subsequently call the therein contained functions, as stated above?
Thanks!
...............................................
For who is interested in my troubles....
I am using the System.Windows.Form.WebBrowser and I have a sequence of operation to perform programmatically, each of which requires the DocumentCompleted event to be triggered. My idea was to put the for loop within the function DocumentCompleted function, in order to call the operations being sure the web page is loaded. This allows the sequence of function to be changed. tnx!
Do While ReadyStatus = False
Loop
ReadyStatus = False
End Sub
|
|
|
|
|
Sure. "Function pointers" as you called them are Delegates in .NET.
Read this[^].
|
|
|
|