POP3 connection string for livemail or gmail? - pop3

I have a third party application that requires a 'POP 3 connection string'.
I'd never heard of such a thing but apparently it looks something like this :
Line 314; connection string: {pop3.live.com:995/pop3/ssl}INBOX
or
{outlook.XXXXXXXX.net:993/imap/ssl/novalidate-cert}INBOX
The problem is I can't seem to create a connection string for some either Live mail or Gmail that works.
The application - (which is trying to connect to the POP3 account to process email bounces) - just gives an error.
I just cant seem to find ANY documentation anywhere about POP 3 connection strings. I assume it must be some kind of standard.
The tech support for the product in question said "Ask Microsoft for the connection string for Windows Live mail". I don't think its worth the effort trying to ask - but hoped someone here could shed some light on the issue.
Perhaps a POP3 connection testing tool would be useful too?

About the "POP 3 connection strings" part, maybe this RFC can help you : RFC 2384 - POP URL Scheme :
A POP URL is of the general form:
pop://<user>;auth=<auth>#<host>:<port>
About the URL for gmail... Not that simple ; maybe the code example in [this article][2] can help ; there is a comment in the code that says :
/*
* Access Gmail POP account
*/
/*
$message_file='pop3://'.$user.':'.$password.'#pop.gmail.com:995/1?tls=1&debug=1&html_debug=1';
*/
With a bit of luck, maybe something like this could work in your application too ?

Related

Closing JiraClient properly

I am using this plugin to help my web-app communicate with Atlassian JIRA.
So my question -> Is there a proper way to close net.rcarz.jiraclient.JiraClient instance when I'm done with it?
I'm guessing leaving it be and creating a client = new JiraClient(uri,creds) when next user logs in is not a good idea...
JiraClient doesn't keeps a connection open, it just uses the supplied credentials for each request. You don't have to close it. As far as I can tell, you a free to use multiple JiraClient concurrently.

Arduino+WiFly shield failing to communicate to xively

I have a problem in delivering sensor data to the xively API via an Arduino Uno v3 and a Sparkfun WiFly shield. The problem is not in the hardware, or in the WiFly shield library since I can deliver the data to the Paraimpu server just fine.
The most fundamental problem is that the xively library will not work with the sparkfun WiFly library. The relevant declarations (suggested by xively in the documentation) are:
WiFlyClient client;
XivelyClient xivelyclient(client);
this will not work since the WiFlyClient declaration expects a server and port, hence I modified this to:
byte server[] = {173,203,98,29}; //api.xively.com IP address
WiFlyClient client(server,80);
XivelyClient xivelyclient(client);
This gives me an error on compilation of :
Xively_sketch2_aug20a:60: error: no matching function for call to 'XivelyClient::XivelyClient(WiFlyClient&)'
/Users/paultravers/Documents/Arduino/libraries/xively/XivelyClient.h:11: note: candidates are: XivelyClient::XivelyClient(Client&)
/Users/paultravers/Documents/Arduino/libraries/xively/XivelyClient.h:9: note: XivelyClient::XivelyClient(const XivelyClient&)
At this point I am stuck, and my attempts to modify the various libraries to try to reconcile this issue have come to no avail - mostly because it is above my skill level and I really don't know what I am doing.
To get round this, I have written the code to build the put request and send that to the API, using the template of the code that runs successfully to send data to Paraimpu.
I open a connection (either to api.xively.com or to 173.203.98.29; it makes no difference at this stage) and send the following :
PUT /v2/feeds/<feed ID redacted>.json
Host: api.xively.com
Content-Type: application/json
User-Agent : Xively-Arduino-Lib/1.0
X-ApiKey: < API key redacted >
Content-Length: 197
{"version":"1.0.0","datastreams" : [{"id":"TEMPERATURE_CHANNEL" , "current_value" : "29.00"},{"id":"LIGHT_SENSOR_CHANNEL","current_value":"541.00"},{"id":"ALARM_CHANNEL","current_value":"0.00"}]}
Terminating with a blank line.
Needless to say I have set up channels in xively with those names. But this does not work - I don't get the expected return, and the channels don't update. If I read the returning input on the connection it is just a long string of numbers. Can anyone see anything wrong in the format of this request?
i might take a look at WiFlyClient's documentation...maybe you need to set the port/etc in some other way...than extend WiFlyClient
class WiFlyClient2 : public WiFlyClient {
WiFlyClient2(int[] ip,int port) : WiFlyClient() {
//setup up your parent by calling it's functions here
}
}
then it should work like:
byte server[] = {173,203,98,29}; //api.xively.com IP address
WiFlyClient client(server,80);
XivelyClient xivelyclient(client);
note: i never use wifly/etc, i just use arduino...and i run into troubles like this too :)
I don't have a WiFly shield to test with. But as you said in your comment to Zoltan, I don't think that the WiFly client works in the same way that the Arduino Ethernet or Wifi do. This means that the Xively library likely does not work with the WiFly client.
This means that your approach of writing your own HTTP request is probably the way to go. I looked through your request and it looks exactly correct to me. Does anything show up in the Xively Workbench Request Log when you send the request?
One thing you could try is to use the CSV format instead. This can be better for testing since you avoid the possibility of a minor JSON error causing your entire request to not work. To do this change your .json to .csv and then simply make your body a comma separated list of datastream,value. Your body should look something like this:
TEMPERATURE_CHANNEL,29.00
LIGHT_SENSOR_CHANNEL,541.00
ALARM_CHANNEL,0.00
If this does not work it would be helpful if you could post what the return is, that would help us help you. Good luck!
One thing I noticed in your code is that you don't send the HTTP version in your request.
You should try sending:
PUT /v2/feeds/<feed ID redacted>.json HTTP/1.1
I was getting 405 errors when writing to Xively because I incorrectly had HTTP/1.0 as the version in my put requests.
There's also an example from SparkFun's WiFly library that shows writing to Thingspeak which is helpful to make sure you're using the WiFlyClient instance correctly.

What is RACRoute in Mainframe?

What is RACRoute in Mainframe? While checking th event viewer I get an error "RACRoute AUTH failed" while trying to transfer a file to a Mainframe system. Can this be explained?
RACROUTE is a rather large topic. The simplest answer is that you are probably not authorized by RACF to perform the action you are attempting. If there is an error message identifier (RACF messages begin with ICF followed by a 3 digit number and then a letter) you might have some luck looking that up in the references I've provided. There is likely an ICH message in the mainframe SYSLOG or OPERLOG that corresponds to what you are seeing in your event log.
RACROUTE is the basic macro for authorisation checks via the SAF interface. (IBM's RACF and (I presume) Computer Associates' ACF2 and Top Secret security products respond to authorisation requests made this way.)

Line break problems sending SMS through SMTP ftrom VB.NET

I wrote a VB.NET application to send notifications by SMS using an SMTP gateway (mobilenumber#mobileprovider.com).
The message includes line breaks and display well under most providers but not all.
For some providers, the message will display in one line with line breaks showing as "0D0A" which just won't work for me.
Is therea solution to this problem?
Using an SMS agregator is out of the question for my solution.
Yes, I did that. Turned out to be carrier specific.
Yet another problem i am having is specific to the phone model (one specific user receive the messages well on his old razor, changed to a new motorola phone with the same carrier and now receives an empty message).
Any ideas ?
This is neither vb.net or smtp problem.
It sure looks like it is mobile provider specific. Try checking your (mail message) encoding - have you tried pure ASCII?
If I'm not mistaken 0D0A is UTF-8 for line break...

Intercepting outgoing Exchange Server email and modifying it

I want to be able to intercept outgoing email on a specific domain in Exchange Server and modify the headers before it is actually delivered.
Basically, my company has been bought by another and where we were using MDaemon and signing all our emails with DKim and DomainKeys, the new company uses Exchange Server which cannot and will not do this. This appears to be a major oversight I would have thought so I think I will need to do it myself. I have already written a COM component that can sign given message files which I use on my personal mail server using hMailServer, so wanted to do a similar thing for Exchange.
Is this possible, and if so how would you do it?
I have looked but could not find an obvious way of doing this. Some of the things I looked at included:
Transport Agents
Event Sinks
Store Events
Any help would be appreciated. Thanks.
For Exchange 2007 and later: It seems that a TransportAgent is the right way of doing it.
A very basic sample:
public class TestAgent : SmtpReceiveAgent
{
public TestAgent()
{
this.OnEndOfData += new EndOfDataEventHandler(MyEndOfDataHandler);
}
private void MyEndOfDataHandler(ReceiveMessageEventSource source, EndOfDataEventArgs e)
{
// The following line appends text to the subject of the message that caused the event.
e.MailItem.Message.Subject += " - this text appended by MyAgent";
}
}
You can change the actual message via the GetContentWriteStream() and just append or replace existing content.
More samples can be found here.
I know... it's a late answer, but I stumbled over this question and just want to leave some helpful links that I found.
Maybe you can use the Generic Exchange Transport Agent (open source, link goes to GitHub) for this. It provides an abstraction layer above the Exchange transport agent and is specifically designed to handle events for incoming/outgoing email. You can call custom batch scripts to rewrite the whole e-mail, e.g. for adding custom headers and so on.