I think I've posted it before, but here it is again - a program I wrote a few years back for my own use to solve just this problem. When it comes to correcting the rotation, some forums do a better job than others, but also some cameras / phones (especially iPhones) do a worse job than others. This program allows you to do two things that are helpful for preparing pictures to upload to a forum - it can rotate them (by a fixed amount, or attempt to automatically detect the rotation - generally it works well), and it can optionally shrink them to a smaller format. The latter is particularly helpful for pictures viewed on a screen - the extra pixels just create overhead - and for slow internet connections - the large pictures take up a lot of bandwidth.
So, as a demo, here is the picture you posted after running it through the RoShrink program. The original was 1.8M in size, 4032x3024 pixels (way more than the resolution of most computer screens). The RoShrunk version is 768x1024 pixels and only 98k in size - 18 times smaller in terms of storage/bandwidth, but big enough to show nicely on most screens. On my screen, I can't tell any qualitative difference between the original and this one, except that this one is oriented correctly.
The link below is to a .zip file; if you want to give it a try, unzip the files into a convenient folder (there is the RoShrink.exe program file, plus 4 supporting .dll files). Then simply run RoShrink.exe. You can select files to rotate and/or shrink using the Add Files button, or you can drag-and-drop files into the list. You can also select files in Windows Explorer, right click, ,and select RoShrink as the program to run. Select the size you want the pictures to be, and select whether you want them to be auto-rotated, fixed-rotated 90° or 180°, or no rotation. Select what sort of output you want - you can place the RoShrunk files in a different directly, or write them to the same directory with -rs added to the name, or overwrite the original (be careful with that one - once overwritten, you can't undo it!!). There are a few options under the File menu item - whether to warn before overwriting, whether to clear the list once it has been processed, and whether to automatically create the output directory if it doesn't exist.
If you'd rather have the source code, or use a platform other than Windows, I'm happy to share it. The program uses the wxWidgets interface library, which means that it can be compiled for Windows, Linux, or Mac. (I don't have a Mac, so haven't tried that one, but at least in theory it should work.)