How to send ethernet frames with RJ45 on STM32F107 board?
I searched for tutorials, but I found nothing.


That might be because the amount of work is quite large, if you try to do it all yourself.

Although the STM32F107 includes some of the elements needed for Ethernet connectivity, it does not include a TCP/IP stack in the chip. Therefore this needs to be added, if you intended to have the F107 communicate on a typical network.

[Note that the specific Ethernet "Phy" which you have on your board (to link the F107 to the "magnetics" and RJ45 connector) can require changing any sample code which you use, if that sample code was written for a different Phy.]

I'm aware of some different ways to get the necessary TCP/IP stack code (some people call it "middleware") for an F107:


Many OS/RTOS include a TCP/IP stack for their supported MCUs. So find an RTOS which supports the F107 and you are likely to find some TCP/IP code. Remember what I said above about potentially needing to change the supplied code, unless the intended Phy IC in the code, matches the Phy IC on your board. Here is one example using FreeRTOS.
ST provide a downloadable example of lwIP for the F107 under their code STSW-STM32026 with application note AN3102 here or here.
ST provide a downloadable example of NicheLite TCP/IP stack for the F107 under their code STSW-STM32045 with application note AN3000 here.


Update:


This was a similar question I found on EE.SE for the STM32F103, but which recommends using the F107 and TCP/IP stacks.
This engineer's blog (Andy's Workshop) has a page where he adds a Phy to an STM32F107 board. He has also created his own object-oriented C++ TCP/IP stack called stm32plus::net. You may find these articles useful.